【发布时间】:2019-09-17 20:58:36
【问题描述】:
我有一张这样的桌子
Table1Id | Column2
-------------------
100 | somedata
还有一个这样的
Table2Id|Table1Id|Name |Value
-------------------------------
500 |100 |name1 |value1
501 |100 |name2 |value2
我有“name1”和“value1”可供搜索,我想用它从 table1 中检索所有内容。这很容易,但是当我只从第一行获取数据时,如何检索 table2 中的其余子项?我想在一个查询中完成,我想避免子查询,但不确定这是否可能。
有人可以修复此查询以返回 table2 中的另一个子行吗?
SELECT *
FROM Table1 t1
JOIN table2 t2 on t1.Table1Id = t2.Table1Id
WHERE t2.Name = 'name1' AND t2.Value = 'value1'
【问题讨论】:
-
你提到 "the other child row in table2" 但不要在你的问题中显示它...如果你想要两个表中的所有记录,请尝试
FULL OUTER JOIN -
@dvo 另一个孩子在第二个表中。由于 Where 的原因,完整的外部联接将不起作用。
标签: sql-server database tsql