我有一个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