mysql - 联合查询中的排序错误

标签 mysql group-by union sql-order-by

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/

相关文章:

php - PHP 中的随机关联数组值

javascript - 从数据库中检索自上次更新以来的新条目

python - Groupby 并从组 : Pandas 的最小值中找出差异

node.js - 格式化从 MongoDB/Mongoose group by 返回的对象

Mysql UNION 作为带有别名字段的子查询

mysql - UNION 会导致 MyIsam 上的表锁定吗?

database-design - 每次查询时是否新创建 PostgreSQL VIEWS?

mysql - 无法连接到本地主机数据库

python - 在 Django 1.9 中创建旧 [散列] 密码表

sql - 这两个查询是否相同 - GROUP BY 与 DISTINCT?