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 - ‘order clause’ 中的未知列‘rt.d_abd’”。 请帮助我
最佳答案
错误是您将 tablename.columnname 放在反引号之间:MySQL 将其解释为一个列名。
要么使用 `tablename`.`columnname` 要么根本不使用反引号。
关于mysql - 联合查询中的排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3147056/