簡體   English   中英

錯誤 #1241 - 操作數應包含 1 列

[英]Error #1241 - Operand should contain 1 column(s)

我正在嘗試這個 QUERY,並返回這個奇怪的錯誤。 這是什么意思?

這是我的查詢:

SELECT * FROM newRowP a WHERE a.rowId IN 
(SELECT * FROM newCellP b WHERE b.cellId IN 
(SELECT * FROM newproviderP c WHERE c.pId IN ('3000344','245')))

您的SELECT *子查詢返回不止一列; IN ()需要返回一列。

子查詢中的SELECT語句的結果應該只返回一列。 例如

SELECT * 
FROM newRowP a 
WHERE a.rowId IN (SELECT colName FROM newCellP b .....)

但使用IN的更好方法是JOIN表。

SELECT  DISTINCT a.*
FROM    newRowP a
        INNER JOIN newCellP b
            ON a.rowID = b.colName
        INNER JOIN newProviderP c
            ON b.cellID = c. colName
WHERE   c.pid IN ('3000344','245')

其中colname是要與其他表鏈接的列。

暫無
暫無

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

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