【发布时间】:2013-04-29 18:37:19
【问题描述】:
我在查询连接三个不同的表并从不同的表中获取信息时遇到问题。
这些表格是:
TableP
DataP1 (primary key)
TableL
DataL1 (primary key)
DataP1 (foreign key)
TableA
DataA1 (primary key)
DataP1 (foreign key)
Date
我需要显示未出现在 TableL 中但出现在 TableP 和 TableA 中的 DataP1 值,以及取自 TableA 的相关日期
到目前为止,我有这样的事情:
Select TableL.DataP1, TableA.date
from TableP
inner join TableL on TableP.DataP1 = TableL.DataP1
inner join TableA on TableP.DataP1 = TableA.DataP1
但这仅显示了 TableL 中的值,而不是 TableA 和 TableP 中的值(基本上相反)
我尝试添加诸如...之类的内容
when TableL.DataP1 <> TableA.DataP1
...但这似乎没有帮助。
如果您能提供有关我哪里出错的见解,那将非常有帮助 谢谢
【问题讨论】:
-
你会想最后加入 TableL 并使用
left join: A Visual Explanation of SQL Joins
标签: sql oracle inner-join