首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >一对多查询,为每个父项选择所有父项和单个顶层子项

一对多查询,为每个父项选择所有父项和单个顶层子项
EN

Stack Overflow用户
提问于 2009-10-13 21:54:37
回答 5查看 19.3K关注 0票数 21

有两个SQL表:

代码语言:javascript
复制
Parents:
+--+---------+
|id|   text  |
+--+---------+
| 1|  Blah   |
| 2|  Blah2  |
| 3|  Blah3  |
+--+---------+

Childs
+--+------+-------+
|id|parent|feature|
+--+------+-------+
| 1|   1  |  123  |
| 2|   1  |   35  |
| 3|   2  |   15  |
+--+------+-------+

我想用单次查询从Parents表中选择每一行,并从Childs表中选择具有关系"parent"-"id“值和最大"feature”列值的每一行。在此示例中,结果应为:

代码语言:javascript
复制
+----+------+----+--------+---------+
|p.id|p.text|c.id|c.parent|c.feature|
+----+------+----+--------+---------+
|  1 | Blah |  1 |    1   |    123  |
|  2 | Blah2|  3 |    2   |    15   |
|  3 | Blah3|null|   null |   null  |
+----+------+----+--------+---------+

其中p=父表,c=子表

我试图保留OUTER JOIN和GROUP BY,但MSSQL Express告诉我,GROUP BY查询需要在每个非分组字段上使用聚合函数。我不想将它们全部分组,而是选择顶行(具有自定义排序)。

我完全没主意了.

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1563148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档