我不确定标题是否反映了我正在搜索的内容。
我有一个标题表和一个行表。对于每个标题,可以有多个行记录。
如果行表不包含标题记录的行值,我想返回该标题记录。
示例:
标题表 -
| ID | xyz...|
| 1 | abc |
| 2 | abc |
行表 -
| LineID | HeaderID | xyz...|
| 1 | 1 | abc |
| 2 | 1 | abc |
| 3 | 1 | abc |
| 3 | 2 | abc |
| 4 | 2 | abc |
| 5 | 2 | abc |
在这种情况下,如果我搜索的行记录不包含1或2行的记录,我希望返回标题记录2.
我无法想到对我生活的质疑,即使我知道它直接盯着我。
当我想到要尝试的查询时,我会发布它们以显示我的工作,但我希望有人能够得到答案。
答案 0 :(得分:3)
一个简单的NOT EXISTS
可以解决问题:
SELECT *
FROM Header h
WHERE NOT EXISTS(
SELECT 1
FROM Lines l
WHERE
l.HeaderID = h.ID
AND l.LineID IN(1, 2)
)
答案 1 :(得分:1)
查询: 的 LINK 强>
SELECT h.*
FROM Header h
LEFT JOIN Lines l
ON l.HeaderID = h.ID
AND l.LineID IN(1, 2)
WHERE l.HeaderID is null