用于从多个表中检索数据的 Sql 查询
Posted
技术标签:
【中文标题】用于从多个表中检索数据的 Sql 查询【英文标题】:Sql Query for retrieve data from multiple table 【发布时间】:2013-11-11 10:28:58 【问题描述】:我有三个表 tb1(Uid,address,LoginTime),tb2(id,Uid,Name),tb3(Id,Uid,Name)。 tb1 有一个主键 Uid .. 其他两个表都包含外键。我需要来自的所有详细信息 待定1。根据登录时间,我想从 tb2 或 tb3 中检索名称。登录时间是唯一的。它只包含 tb2 或 tb3 两者都不包含...
【问题讨论】:
告诉我们你到目前为止尝试了什么.. 您想从 tb2 或 tb3 中检索登录时间,但您不能,因为它在 tb1 中...什么? 【参考方案1】:你在找这个吗?
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演示
【讨论】:
@user2978704 如果这是您要查找的内容,请考虑将答案发送至 accept。【参考方案2】:你能详细说明问题的最后几句我得到了什么
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 获得空值
【讨论】:
以上是关于用于从多个表中检索数据的 Sql 查询的主要内容,如果未能解决你的问题,请参考以下文章