我有三个表 tb1(Uid,address,LoginTime),tb2(id,Uid,Name),tb3(Id,Uid,Name)。tb1 有一个主键 Uid .. 其他两个表都包含外键。我需要
tb1 的所有详细信息。根据登录时间,我想从 tb2 或 tb3 中检索名称。登录时间是唯一的。它只包含 tb2 或 tb3 两者都不包含...
问问题
51 次
2 回答
0
你在找这个吗?
SELECT tb1.Uid, Address, LoginTime, COALESCE(tb2.Name, tb3.Name) Name
FROM tb1 LEFT JOIN tb2
ON tb1.Uid = tb2.Uid LEFT JOIN tb3
ON tb1.Uid = tb3.Uid
WHERE LoginTime = ?
这是SQLFiddle演示
于 2013-11-11T10:33:53.663 回答
0
你能详细说明我得到的问题的最后几句话吗
SELECT tb1.*, tb2.Name, tb3.Name
FROM tb1 LEFT JOIN tb2
ON tb1.Uid = t2.Uid LEFT JOIN tb3
ON tb1.Uid = t3.Uid
WHERE tb1.LoginTime = ?
它将从 tb1 获取所有数据。但它会针对 tb2.name 和 tb3.name 获得空值
于 2013-11-11T10:41:34.347 回答