2

私は次のようなことを試みています

SELECT * FROM tbl WHERE col IN (SELECT col1 FROM tbl1)

ただし、SELECT col1 FROM tbl1結果が返されない場合は、tbl のすべての結果を表示したい

このようなもの

IF(SELECT col1 FROM tbl1)
SELECT * FROM tbl WHERE col IN (SELECT col1 FROM tbl1)
ELSE
SELECT * FROM tbl
4

3 に答える 3

0

代替のもう少し効率的な解決策は次のとおりです。

Case when (select Count(*) from tbl1)>0
Then
SELECT * FROM tbl WHERE col IN (SELECT col1 FROM tbl1)
ELSE
SELECT * FROM tbl
于 2016-06-09T09:21:11.530 に答える