我有一个简单的一对多关系。我只想在父母至少有一个孩子时从父母中选择行。所以,如果没有孩子,那么父行不会返回结果集中。如何仅在至少有一个孩子的情况下选择父行?
例如,
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|
+----+------+
我没有测试过,但我猜测这是不是加入慢。 – Hogan 2010-04-03 16:22:49
@霍根 - 存在它是最快的方法。优化器将为空检查的外连接执行相同的执行计划......这将**作为**快速,但存在永远不会变慢。 – 2010-04-03 16:24:02
整洁。谢谢@尼克。对于mysql,ms sql和oracle这是真的吗? – Hogan 2010-04-04 16:35:23