我有三个表tb1(Uid,地址,LoginTime),tb2(id,Uid,Name),tb3(Id,Uid,Name)。 tb1有一个主键Uid ..其他表都包含外键.i需要来自的所有细节 TB1。基于登录时间,我想从tb2或tb3检索名称..登录时间是唯一的。它只包含tb2或tb3,而不是两者......
答案 0 :(得分: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 演示
答案 1 :(得分: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
的空值