我有一个MySQL查询是如下MYSQL UNION和ORDER BY不工作
(SELECT order_product.op_id,
order_product.ocat_id,
order_product.op_partnunber,
order_product.op_name,
order_product.op_upc,
order_product.op_desc,
order_stockavailable.osa_id,
order_stockavailable.of_id,
order_stockavailable.osa_stocka,
order_category.ocat_name
FROM
order_product
LEFT JOIN order_category
ON order_product.ocat_id = order_category.ocat_id
LEFT JOIN order_stockavailable
ON order_product.op_id = order_stockavailable.op_id)
UNION
(SELECT order_product.op_id,
order_product.ocat_id,
order_product.op_partnunber,
order_product.op_name,
order_product.op_upc,
order_product.op_desc,
order_stockavailable_attributes.id,
order_stockavailable_attributes.of_id,
order_stockavailable_attributes.opap_stock,
order_category.ocat_name
FROM order_product
LEFT JOIN order_category
ON order_product.ocat_id = order_category.ocat_id
LEFT JOIN order_stockavailable
ON order_product.op_id = order_stockavailable.op_id
LEFT JOIN order_stockavailable_attributes
ON order_product.op_id = order_stockavailable_attributes.op_id)
ORDER BY order_product.op_name
查询是givng错误,T
Table 'order_product' from one of the SELECTs cannot be used in global ORDER clause
我查MySQL手册,但我没有任何线索,任何帮助都会非常棒。
另外一个针对不必要的括号战斗。 – 2011-03-16 15:55:50
感谢这工作完美!括号是试验和错误过程的一部分,我在发布之前尝试了各种组合。现在我需要解决t的谜团:) – Amitabh 2011-03-16 16:21:39
@ pillar.of.autumn:'t'是内部查询的别名。 – 2011-03-16 16:23:11