多个子查询 - SQL Server告诉我使用EXISTS?

JOE*_*EET 1 sql t-sql sql-server

SELECT SUBSTRING(datapath,1,5) 
  FROM batchinfo 
 WHERE rowid IN (select * 
                   from qvalues 
                  where rowid in (select rowid 
                                    from batchinfo 
                                   where datapath like '%thc%'))
GROUP BY SUBSTRING(datapath, 1, 5)
  HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

消息116,级别16,状态1,行3当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式.

有谁知道我做错了什么?

T.J*_*der 11

...where rowid in (select * from qvalues...我猜是*有问题的.指定特定列从qvaluesrowid应进行比较(如你在第二子选择做); 实际上,您告诉SQL Server要比较rowid完整的行.