このステートメントを確認してください:
SELECT TableID FROM Table t1
INNER JOIN BlackList b ON b.TableID <> t1.TableID
Table
このステートメントは、テーブルに見つからなかったものからすべてを返すと思っていましたBlacklist
が、代わりに何も返しませんでした (0 行)。テーブルにTable
見つからないものからすべてを返そうとしている場合、これを行う最善の方法は何ですか? Blacklist
私はあなたがこれを行うことができると仮定します:
SELECT TableID FROM (
SELECT TableID, CASE WHEN b.TableID IS NULL THEN 1 ELSE 0 END OnBlackList
FROM Table t1
LEFT JOIN Blacklist b ON b.TableID = t1.TableID
) tb1
WHERE tb1.OnBlackList = 0
しかし、私はより短く、より効率的なソリューションを探していました。助言がありますか?