Có hai bảng SQL:one-to-many truy vấn chọn tất cả các bậc cha mẹ và con đầu duy nhất cho mỗi phụ huynh
Parents:
+--+---------+
|id| text |
+--+---------+
| 1| Blah |
| 2| Blah2 |
| 3| Blah3 |
+--+---------+
Childs
+--+------+-------+
|id|parent|feature|
+--+------+-------+
| 1| 1 | 123 |
| 2| 1 | 35 |
| 3| 2 | 15 |
+--+------+-------+
Tôi muốn chọn với truy vấn duy nhất mỗi dòng từ bảng phụ huynh và cho mỗi một hàng duy nhất từ bảng Childs có quan hệ "parent" - giá trị "id" và giá trị cột "feature" lớn nhất. Trong ví dụ này kết quả sẽ là:
+----+------+----+--------+---------+
|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 |
+----+------+----+--------+---------+
đâu p = bảng mẹ và c = bảng Child
Tôi cố gắng để LEFT OUTER JOIN và GROUP BY nhưng MSSQL nhanh nói với tôi rằng truy vấn với GROUP BY yêu cầu chức năng tổng hợp trên mọi trường không được Groupped. Và tôi không muốn Nhóm tất cả, mà là chọn hàng trên cùng (với thứ tự tùy chỉnh).
Tôi hoàn toàn ra khỏi ý tưởng ...
Điều này sẽ không chỉ trả lại con đầu mỗi lần –
Cảm ơn. Cố định, bây giờ nó sẽ. – manji
Nó hoạt động! Tuyệt vời! – PiotrK