0

キーワードがわからないのでGoogleで答えが見つかりません...これが私のクエリです

SELECT col1 
from table1
WHERE col2 in (select col2 from table2 where user_id=@ID)

if条件文を置くことが可能かどうか知りたいです...table2がnullの場合、代わりにこの条件をプルします

select col1 from table1 <no condition>

その場合のようselect col2 from table2 where user_id=@id is nullにそれはすべてのデータを引き出します

誰かが私を助けることができますか?

4

2 に答える 2

1
SELECT table1.col1 
FROM table1 LEFT OUTER JOIN table2 ON table1.col2 = table1.col2 AND table2.user_id = @ID
于 2013-01-18T08:44:16.060 に答える
0
DECLARE @sql VARCHAR(500)

SET @sql = 'SELECT col1 from table1'
IF((select col2 from table2 where user_id=@ID )IS NOT NULL) 
BEGIN
    SET @sql = @sql + ' WHERE col2 in (select col2 from table2 where user_id= ' + CAST(@ID AS VARCHAR) + ' )'
END
EXEC (@sql)

この場合、要件に応じて動的クエリを使用できます

于 2013-01-18T08:55:10.553 に答える