2010-11-06 32 views
5

Tôi muốn hiển thị hoạt động cuối cùng của người dùng. (bạn có thể đọc số last question của tôi để biết thêm thông tin về nó)LIMIT 1 bên trong JOIN từ các bảng cụ thể trong MySQL?

Tôi cần thực hiện một JOIN lớn (6+ bảng).

Tôi chỉ cần nhận một hàng cho mỗi ID nhưng có một số bảng chứa nhiều hàng trên mỗi ID. Ví dụ ID bài viết chỉ có thể có một hàng trong bảng 'phiếu bầu' nhưng nó có thể có nhiều trong bảng 'hình ảnh' vì có thể có nhiều hơn một hình ảnh cho mỗi bài viết, nhưng tôi chỉ muốn một hình ảnh.

Vì vậy, tôi cần phải làm một cái gì đó như thế này (tất nhiên mã này là sai):

SELECT table1.item, table2.item, table3.item, table4.item, table5.item 
FROM table1 
LEFT OUTER JOIN ... ON ... AND ... 
LEFT OUTER JOIN ... ON ... AND ... 
LEFT OUTER JOIN ... ON ... AND ... LIMIT 1 
LEFT OUTER JOIN ... ON ... AND ... LIMIT 1 
WHERE table1.item = ?; 

Làm thế nào tôi có thể thực hiện điều đó?

+0

MySQL không có phân tích/cửa sổ/xếp hạng chức năng để hỗ trợ truy vấn như vậy - xem thẻ greatest-n-per-group cho các ví dụ và cách tiếp cận. –

Trả lời

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