SQLで私は次の条件をチェックしようとしています
WHERE (col1 is null and col2 is not null) or (col1 is not null and col2 is null)
この条件を短くする論理的な方法はありますか?
私がやろうとしていることの説明
2 つのテーブルがあり、各テーブルには 3 つの列があります
Table1(Ft) Table2(Dt)
ID ID
F1 D1
F2 D2
F3 D3
F 列は整数型です D 列は Datetime 型です
F1 correspondes to D1
F2 correspondes to D2
F3 correspondes to D3
F が空で D が塗りつぶされている、または D が空で F が塗りつぶされている行を選択したい これが完全なコードです。短くしてください!
SELECT f1,
f2,
f3,
d1,
d2,
d3
FROM ftable Ft
INNER JOIN dtable Dt
ON Ft.ID= Dt.ID
WHERE ( ( ( d1 IS NULL
AND f1 IS NOT NULL )
OR ( d1 IS NOT NULL
AND f1 IS NULL ) )
OR ( ( d2 IS NULL
AND f2 IS NOT NULL )
OR ( d2 IS NOT NULL
AND f2 IS NULL ) )
OR ( ( d2 IS NULL
AND f2 IS NOT NULL )
OR ( d3 IS NOT NULL
AND f3 IS NULL ) ) )