Tôi có một cái gì đó giống như truy vấnngoài trái tham gia với chỉ hàng đầu tiên
SELECT S.product_id, S.link, C.id AS category_id
FROM Products P
INNER JOIN SEO S ON S.product_id = P.id AND P.product_type = 1
LEFT OUTER JOIN Categories C ON c.product_id = P.id
WHERE P.active = 1
tôi hoạt động tốt đối với tôi miễn là mỗi sản phẩm đã được phân công chỉ có một loại. Nhưng nếu một sản phẩm được gán cho nhiều loại, nó trả về tất cả các kết hợp có thể.
Tôi có thể chỉ chọn một trong những đầu tiên và nếu một sản phẩm không có bất kỳ loại liên kết vẫn nên được trả lại với category_id = NULL
'Cái đầu tiên', theo tiêu chí nào? – Lamak
Bạn có thể thêm MIN hoặc MAX và GROUP BY vào category_id. Nếu điều đó không đủ tốt, hãy chuyển Danh mục thành truy vấn phụ. – Stavr00