我正在尝试从只通过两个不同表关联的表中获取数据。例如,我有信息“dataA”,需要获取信息“dataD”。
如何编写查询以显示dataA和dataD?我不想显示dataD的所有实例,只显示与dataB相关的实例,然后显示与dataA相关的实例。如果这没有足够的意义,我很抱歉。
答案 0 :(得分:2)
您将使用JOIN来执行此操作。具体来说,在这种情况下,LEFT OUTER JOIN是您最好的选择。类似的东西:
SELECT
Table1.dataA,
Table3.dataD
FROM
Table1
LEFT OUTER JOIN Table2 ON Table1.dataB = Table2.dataB
LEFT OUTER JOIN Table3 ON Table2.dataC = Table3.dataC
答案 1 :(得分:0)
假设"数据"您放在每个表名下的条目代表表中的列,这很简单:
select dataA
, dataD
from Table1 t1
join Table2 t2
on t1.dataB = t2.dataB
join Table3 t3
on T2.dataC = t3.dataC
如果您需要所有dataA
,无论是否匹配dataD
(或其他干预列),您都会更改我'join'
到'left join'
的位置
你的问题很有道理。 :)从图表中我只是有点不清楚你的想法。