簡體   English   中英

MySQL錯誤1052或1054

[英]MySQL Error 1052 or 1054

我面對MySQL陳述式的問題。

SELECT apparatus_lic.* ,'', licensee_lic.*, vet_apparatus.*
FROM apparatus_lic, licensee_lic, vet_apparatus 
WHERE licensee_lic.licensee_status = 'Y' 
AND vet_apparatus.licensee_id = apparatus_lic.licensee_id 
AND vet_apparatus.licensee_comm = apparatus_lic.licensee_comm 
AND vet_apparatus.apparatus_identifier = apparatus_lic.apparatus_identifier 
AND vet_apparatus.reference_no = apparatus_lic.reference_no 
AND licensee_lic.licensee_br = apparatus_lic.licensee_id 
AND licensee_lic.licensee_comm = apparatus_lic.licensee_comm 
AND vet_apparatus.apparatus_status <> 'D' 
Union SELECT apparatus_appro.*, licensee_lic.*, vet_apparatus.* 
FROM apparatus_appro, licensee_lic, vet_apparatus 
WHERE licensee_lic.licensee_status = 'Y' 
AND vet_apparatus.licensee_id = apparatus_appro.licensee_id 
AND vet_apparatus.licensee_comm = apparatus_appro.licensee_comm 
AND vet_apparatus.apparatus_identifier = apparatus_appro.apparatus_identifier 
AND vet_apparatus.reference_no = apparatus_appro.reference_no 
AND licensee_lic.licensee_br = apparatus_appro.licensee_id 
AND licensee_lic.licensee_comm = apparatus_appro.licensee_comm 
ORDER BY licensee_cn, licensee_ccn, vet_apparatus.apparatus_identifier;

現在的錯誤是錯誤代碼:1054。“訂單子句”中的未知列“ vet_apparatus.apparatus_identifier” 0.000秒

如果刪除vet_apparatus,我將得到錯誤1052,這太含糊。

我是MySQL的新手,如果有任何菜鳥問題,請告訴我。

編輯:

apparatus_identifier包含在不同的表中。 vet_apparatus.apparatus_identifier沒有錯字

表結構:

vet_apparatus
reference_no            varchar(50) NO  PRI
apparatus_identifier    varchar(4)  NO  PRI
licensee_id             varchar(8)  NO  PRI
licensee_comm           varchar(3)  NO  PRI
apparatus_status        varchar(2)  YES 

apparatus_lic
reference_no            varchar(20) NO  PRI 
apparatus_identifier    varchar(4)  NO  PRI 
licensee_id             varchar(8)  NO  PRI 
licensee_comm           varchar(3)  NO  PRI 

apparatus_appro
reference_no            varchar(20) NO      
apparatus_identifier    varchar(4)  NO  PRI 
licensee_id             varchar(8)  NO  PRI 
licensee_comm           varchar(3)  NO  PRI 

第一個錯誤是因為apparatus_identifier不是vet_apparatus表中的列。

第二個錯誤是當MYSQL來自兩個表的兩個列具有相同名稱時,例如

SELECT     `table1`.`telephone`, `table2`.`telephone`
FROM       `table1`
INNER JOIN `table2` using (`some_id`)
WHERE      `telephone` = "0123456789"

由於電話可能是table1或table2,因此mysql感到困惑。 要解決此問題,請將表添加到以下位置:

SELECT     `table1`.`telephone`, `table2`.`telephone`
FROM       `table1`
INNER JOIN `table2` using (`some_id`)
WHERE      `table1`.`telephone` = "0123456789"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM