2012-05-01 35 views

Trả lời

11

Để nhóm nhiều tham gia, cú pháp như sau (chưa được kiểm tra trên db2)

SELECT * 
FROM table1 t1 
LEFT JOIN (
    table2 t2 INNER JOIN table3 t3 ON t3.someId = t2.someId 
) ON t2.someId = t1.someId 

Cùng cú pháp cho trái tham gia bên LEFT JOIN(), nhưng xin vui lòng đọc comment của @ X-Zero

SELECT * 
FROM table1 t1 
LEFT JOIN (
    table2 t2 LEFT JOIN table3 t3 ON t3.someId = t2.someId 
) ON t2.someId = t1.someId 
+2

Vâng, đó cũng là cách nó hoạt động trên DB2. OP yêu cầu tham gia 'LEFT' lồng nhau, nhưng cú pháp cũng giống nhau. Tuy nhiên, thường là tốt nhất để tham gia vào bên trong, và chỉ để cho bên ngoài bên trái nhất xử lý các nhiệm vụ đó (nếu không có lý do nào khác hơn nhiều 'LEFT' có thể bị xoắn). –

+0

Cảm ơn @ ChrisGessler .. giải pháp của bạn là rất hữu ích .. Bây giờ tôi có thể sử dụng lồng nhau JOINS trong truy vấn của tôi. –

Các vấn đề liên quan