gpt4 book ai didi

sql - 如何仅在至少有一个 child 的情况下选择父行?

转载 作者:IT老高 更新时间:2023-10-29 00:02:50 25 4
gpt4 key购买 nike

我有一个简单的一对多关系。我想仅在 parent 至少有一个 child 时才从 parent 中选择行。因此,如果没有子行,则结果集中不会返回父行。

例如。

Parent:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+

Children
+--+------+-------+
|id|parent| other |
+--+------+-------+
| 1| 1 | blah |
| 2| 1 | blah2 |
| 3| 2 | blah3 |
+--+------+-------+

我想要的结果是:

+----+------+
|p.id|p.text|
+----+------+
| 1 | Blah |
| 2 | Blah2|
+----+------+

最佳答案

您可以使用 EXISTS 来执行此操作,像这样:

SELECT *
FROM Parent p
WHERE EXISTS (SELECT 1
FROM Chilren c
WHERE c.Parent = p.id)

或者像这样使用 IN:

SELECT *
FROM Parent p
WHERE p.id IN (SELECT c.Parent
FROM Chilren c)

关于sql - 如何仅在至少有一个 child 的情况下选择父行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com