SELECT DISTINCT rt . d_rev_id , rt . d_rev_code , rt . d_reason , rt . d_rev_status , rt . d_apb , rt . d_cb , pt . d_partid , pt . d_part_no , pt . d_ab , pt . d_abd , pt . d_status , rt . d_part_name , rt . d_part_desc , rt . d_part_type , pnv . d_pn_val , pnv . d_pn_id , cfv . d_optionname , rt . d_projectid , rt . d_abd , rt . d_apbd
FROM
(
(
design_parts pt
INNER JOIN design_part_number_val pnv
USING (d_partid)
INNER JOIN design_revision_temp rt
USING (d_partid)
)
LEFT JOIN design_pn_custom_field_options cfv
ON d_optionvalue = d_pn_val
)
WHERE rt . d_projectid = 1
AND 1
GROUP BY d_rev_id
UNION ALL
SELECT DISTINCT dr . d_rev_id , dr . d_rev_code , dr . d_reason , dr . d_part_name , dr . d_apb , dr . d_cb , pt . d_partid , pt . d_part_no , pt . d_ab , pt . d_abd , pt . d_status , dr . d_part_name , dr . d_part_desc , dr . d_part_type , pnv . d_pn_val , pnv . d_pn_id , cfv . d_optionname , dr . d_projectid , dr . d_apbd , dr . d_cbd
FROM
(
(
design_parts pt
INNER JOIN design_part_number_val pnv
USING (d_partid)
INNER JOIN design_revision dr
USING (d_partid)
)
LEFT JOIN design_pn_custom_field_options cfv
ON d_optionvalue = d_pn_val
)
WHERE dr . d_projectid = 1
AND 1
GROUP BY d_partid
ORDER BY `rt.d_abd` ASC
由于我对所选字段进行了排序,因此此查询中出现了什么问题。我收到错误“#1054 - '订单子句'中的未知列'rt.d_abd''”。 请帮我联合查询中的排序错误
我得到这个错误消息什么是“全局ORDER子句”从一个SELECT中的表'design_revision'不能用在全局ORDER子句中 什么是“全局ORDER子句“?你能告诉我吗? – 2010-06-30 11:29:05
全局顺序子句是(仅)ORDER BY存在的。这是全球性的,因为它适用于整个UNION(而不是单独选择每个选项)。 UNION结果没有名字,所以你可以使用ORDER BY d_abd。 – Konerak 2010-06-30 11:33:11
好吧,但它说“d_abd在顺序子句是不明确的”那么我应该怎么做才能解决这个问题 – 2010-06-30 12:32:59