Tôi có một truy vấn sử dụng ba bảng tra cứu để có được tất cả thông tin tôi cần. Tôi cần phải có DISTINCT
các giá trị cho một cột, tuy nhiên tôi cũng cần phần còn lại của dữ liệu được liên kết với nó.
Mã SQL của tôi:
SELECT acss_lookup.ID AS acss_lookupID,
acss_lookup.product_lookupID AS acssproduct_lookupID,
acss_lookup.region_lookupID AS acssregion_lookupID,
acss_lookup.document_lookupID AS acssdocument_lookupID,
product.ID AS product_ID,
product.parent_productID AS productparent_product_ID,
product.label AS product_label,
product.displayheading AS product_displayheading,
product.displayorder AS product_displayorder,
product.display AS product_display,
product.ignorenewupdate AS product_ignorenewupdate,
product.directlink AS product_directlink,
product.directlinkURL AS product_directlinkURL,
product.shortdescription AS product_shortdescription,
product.logo AS product_logo,
product.thumbnail AS product_thumbnail,
product.content AS product_content,
product.pdf AS product_pdf,
product.language_lookupID AS product_language_lookupID,
document.ID AS document_ID,
document.shortdescription AS document_shortdescription,
document.language_lookupID AS document_language_lookupID,
document.document_note AS document_document_note,
document.displayheading AS document_displayheading
FROM acss_lookup
INNER JOIN product ON (acss_lookup.product_lookupID = product.ID)
INNER JOIN document ON (acss_lookup.document_lookupID = document.ID)
ORDER BY product_displayheading ASC;
Tôi muốn nhận tất cả các sản phẩm từ truy vấn này nhưng tôi chỉ muốn nhận chúng một lần vì tôi đang điền một menu thả xuống cho một ứng dụng tìm kiếm. Tôi muốn người dùng có thể chọn từ các sản phẩm trong bảng đó (đó là lý do tại sao tôi chỉ cần chúng một lần).
Đây có phải là quá phức tạp? Tôi có nên sử dụng một cách tiếp cận đơn giản hơn?