sql 查询通过更改别名显示错误

问题描述 投票:0回答:1
mysql> SELECT 'STATUS', 
              status 
       FROM (SELECT ujm.user_id AS userId, 
                    ujm.job_id AS jobId, 
                    ujm.job_run_name AS jobRunName, 
                    j.response_payload -> '$.isSuccessful' AS isSuccessful, 
                    j.response_payload -> '$.error' AS errors, 
                    j.response_payload -> '$.destinationDetails' AS destinationDetails, 
                    s.name AS statusType 
             FROM user_job_mappings ujm 
             JOIN jobs j ON ujm.job_id = j.id AND j.is_deleted = 0 
             JOIN status_types s ON j.status_type_id = s.id AND s.is_deleted = 0 
             WHERE ujm.user_id = 24301 
             AND ujm.is_deleted = 0 
             order by ujm.job_id limit 1 offset 0
             ) jobs_data\G

错误 1054 (42S22):“字段列表”中的未知列“状态”

mysql>  SELECT 'STATUS', 
                status 
        FROM ( SELECT ujm.user_id AS userId, 
                      ujm.job_id AS jobId, 
                      ujm.job_run_name AS jobRunName, 
                      j.response_payload -> '$.isSuccessful' AS isSuccessful, 
                      j.response_payload -> '$.error' AS error, 
                      j.response_payload -> '$.destinationDetails' AS destinationDetails, 
                      s.name AS status 
                FROM user_job_mappings ujm 
                JOIN jobs j ON ujm.job_id = j.id AND j.is_deleted = 0 
                JOIN status_types s ON j.status_type_id = s.id AND s.is_deleted = 0 
                WHERE ujm.user_id = 24301 
                AND ujm.is_deleted = 0 limit 1 offset 0
               ) jobs_data\G
*************************** 1. row ***************************
STATUS: STATUS
status: SUCCESSFUL
1 row in set (0.00 sec)

我有这两个疑问。两个查询中唯一的区别是内部查询中状态使用的别名,但其中一个给出错误,我不明白为什么?

sql mysql database alias
1个回答
0
投票

两个查询中唯一的区别是用于状态的别名 在内部查询中,但出现错误,我不明白为什么?

不。这不是唯一的区别。

问题出在第一个查询中的状态列上,在子查询中找不到该状态列,因为没有状态列。

在第二个查询中,您有

 s.name AS status

这就是第二个查询有效的原因

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.