[英]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.