我正在尝试这个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')))
我正在尝试这个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')))
您的子查询 whichSELECT *
将返回多于一列;而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
您要与其他表链接的列在哪里。