我知道這個論點已經在本網站多次討論過,我只是找不到一個可行的解決方案,所以我想我會發布我的具體案例給你,也許你可以幫助我...無法從子查詢中的同一表中刪除
我有一個節日,我需要消除比前一天晚上的平均評價低20%的歌曲。
我這個嘗試:
DELETE FROM concorre AS C
WHERE C.dataSer='2014-02-24'
AND C.votoTot<(SELECT AVG(B.votoTot)
FROM concorre AS B
WHERE B.dataSer='2014-02-23')/5
它解決了 「同桌的問題」,但還是給我一個錯誤:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS C WHERE C.dataSer='2014-02-24' AND C.votoTot<(SELECT AVG(votoTot) FROM concor' at line 1
當你的子查詢將返回所有條目的相同值有你使用參數認爲,這將刪除有關子查詢的錯誤,並可能提高性能。 – talegna
當命名錶時,你不應該使用'AS'。多數民衆贊成在當你命名列可以使用'AS' –