SQL server 查詢出現:---“子查詢返回的值不止一個。當子查詢跟隨在 =、!=、<、<=、>、>= 之后,或子查詢用作表達式時,這種情況是不允許的。”SQL查詢錯誤解析---


最近用select進行數據篩選,碰到下面的這個錯誤:

---子查詢返回的值不止一個。當子查詢跟隨在 =、!=、<、<=、>、>= 之后,或子查詢用作表達式時,這種情況是不允許的。

查詢語句為:

   

SELECT * FROM 
        (SELECT *,(select cfzt from Zc_Cfb where kc.guid=zcguid) AS cfzt
        FROM Zc_Kcb AS kc
        WHERE kc.djr LIKE '%11203%'
        AND kc.sl > 1)as t 
        where (cfzt is null or cfzt='01-暫存')

檢查后發現問題出在:

select cfzt from Zc_Cfb where kc.guid=zcguid

問題 在於用了'='於select子查詢之前,但是select子查詢返回的不止一個元素,所以出錯了。
即:zcguid 可能有多個一樣的,但實際中查詢必須為 一對一的,否則會報上述的錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM