2010-12-10 4 views
1
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 

私はサブクエリ がEXISTSで導入されていない場合、3行目 つだけの式が選択リストに を指定することができます。メッセージ116、レベル16、状態1このエラーに複数のサブクエリ - EXISTSを使用するように指示するSQL Server?

を取得しています。

私は間違っていることを知っていますか?

答えて

11

...where rowid in (select * from qvalues...私は*を推測していますが、問題があります。 qvaluesから特定の列を指定します(第2の副選択で行うように、rowidを比較する必要があります)。そのままでは、rowidと完全な行を比較するようにSQL Serverに指示しています。

+0

+1:IN句(SQL Serverの場合)は、評価のいずれかの側で1つの列のみをサポートします。私が見た唯一のものは、MySQLです。タプルは... –

関連する問題