【发布时间】:2011-01-04 15:35:07
【问题描述】:
我有一个父表和一个子表,通过一些 REFERENCE 与父表相关。
假设我在子节点上执行了一个 SELECT 语句并且它返回了至少一个结果。我可以安排我的搜索也自动产生与该孩子相关的所有父母的所有内容吗?
或者我必须始终从孩子那里获取参考并将其放在第二个 SELECT 语句中并自己执行吗?
【问题讨论】:
我有一个父表和一个子表,通过一些 REFERENCE 与父表相关。
假设我在子节点上执行了一个 SELECT 语句并且它返回了至少一个结果。我可以安排我的搜索也自动产生与该孩子相关的所有父母的所有内容吗?
或者我必须始终从孩子那里获取参考并将其放在第二个 SELECT 语句中并自己执行吗?
【问题讨论】:
您可以使用子查询:
SELECT *
FROM Parent
WHERE Parent.Id IN (SELECT ParentId
FROM Child
WHERE Whatever_was_your_original_query)
或者一个很好的旧加入:
SELECT Parent.*
FROM Parent INNER JOIN Child ON Parent.Id = Child.ParentId
WHERE Whatever_you_want_to_query
【讨论】:
这是 SQL 最基本的用途。您将把这两个表连接在一起以创建一组结果行,其中包含两个表中的部分或全部列。
有关详细信息,请参阅this page。
【讨论】: