SQL server 查詢出現:---“子查詢返回的值不止一個。當子查詢跟隨在 =、!=、<、<=、>、>= 之後,或子查詢用作表達式時,這種情況是不允許的。”SQL查詢錯誤解析---
阿新 • • 發佈:2019-04-22
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 twhere (cfzt is null or cfzt=‘01-暫存‘)
檢查後發現問題出在:
select cfzt from Zc_Cfb where kc.guid=zcguid
該問題 在於用了‘=‘於select子查詢之前,但是select子查詢返回的不止一個元素,所以出錯了。
即:zcguid 可能有多個一樣的,但實際中查詢必須為 一對一的,否則會報上述的錯誤。
SQL server 查詢出現:---“子查詢返回的值不止一個。當子查詢跟隨在 =、!=、<、<=、>、>= 之後,或子查詢用作表達式時,這種情況是不允許的。”SQL查詢錯誤解析---