有兩個SQL表:一個一對多的查詢選擇所有的父母和單頂子爲每個父
Parents:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Childs
+--+------+-------+
|id|parent|feature|
+--+------+-------+
| 1| 1 | 123 |
| 2| 1 | 35 |
| 3| 2 | 15 |
+--+------+-------+
我想用單一的查詢選擇從父母表中的每一行和每一單排從Childs表格與關係「父母」 - 「ID」值和最大的「功能」列值。在這個例子的結果應該是:
+----+------+----+--------+---------+
|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 =子表
我試圖LEFT OUTER JOIN和GROUP BY但MSSQL快告訴我,GROUP BY該查詢需要聚合函數在每個非分組字段上。而且我不想將它們全部分組,而是選擇頂行(使用自定義順序)。
我完全沒了主意......
這不會只返回頂級的孩子每次 –
謝謝。修正了,現在它會。 – manji
它的工作!精彩! – PiotrK