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

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

gui 允許 select 查詢語句 一對一 行數 style 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 可能有多個一樣的,但實際中查詢必須為 一對一的,否則會報上述的錯誤。

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