我有一個sql查詢從不同的表中抽取一些結果,其中一個表 - 「orders」 - 包含客戶詳細信息,其中包含一個order_id作爲PK,另一個表 - order_products - 包含每個訂購的產品,並參考order_id和另一列爲PK。存儲在數組中的SQL嵌套查詢?
基本上,我需要知道如何以這樣的方式查詢數據庫,即每個order_id只顯示一次,即使同一行中添加了order_products表中的數據,即使客戶已訂購了多個產品特定的順序。正在重複
目前客戶詳細信息的結果中,如果他們已經訂購了多種不同的產品 - 我知道爲什麼發生這種情況(見查詢),但不知道如何在需要的格式結果輸出。我最好的想法是嵌套查詢,其中order_products的結果被加載到數組或其他東西,但我甚至不知道這是否可能。
我正在使用MySQL和PHP的結果,然後在XML文檔中輸出。如果您需要更多信息,請詢問!
SELECT uc_orders.order_id, uc_orders.order_total, uc_orders.primary_email,
uc_orders.delivery_first_name, uc_orders.delivery_last_name,
uc_orders.delivery_street1, uc_orders.delivery_street2, uc_orders.delivery_city,
uc_orders.delivery_zone, uc_orders.delivery_postal_code, uc_zones.zone_name,
uc_order_products.title, uc_order_products.price
FROM uc_orders
LEFT JOIN uc_zones ON uc_orders.delivery_zone = uc_zones.zone_id
LEFT JOIN uc_order_products ON uc_orders.order_id = uc_order_products.order_id
ORDER BY order_id
感謝您的詳細回覆 - 我使用DOM來照顧XML的東西。我會適應你的例子來適應我的項目。 艾倫 – Allan 2009-11-17 16:53:35
請把我的建議寫成心靈的作家類。我很想改變這個例子。 – outis 2009-11-17 17:20:25