Mam zapytanie, które wykorzystuje trzy tabele wyszukiwania, aby uzyskać wszystkie potrzebne informacje. Muszę mieć DISTINCT
wartości dla jednej kolumny, ale potrzebuję również pozostałych danych z nią związanych.
Mój kod SQL:
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;
Chcę uzyskać wszystkie produkty z tego zapytania, ale chcę je uzyskać tylko raz, ponieważ wypełniam menu rozwijane aplikacji wyszukującej. Chcę, aby użytkownik mógł wybrać produkty znajdujące się w tej tabeli (dlatego potrzebuję ich tylko raz).
Czy to jest zbyt skomplikowane? Czy powinienem zastosować bardziej uproszczone podejście?