内の特定の試合は私がT3で見つかった結果はONLY =「保留」アクションで持つレコードを持っている場合は、レコードを取得する必要がある3つのテーブルを選択した結果三1
t1
--------------
userID
userEmail
userName
userType
t2
--------------
businessID
businessUserID
t3
--------------
recordID
recordBusinessID
action (ENUM: pending, open, closed)
を持っている場合。
SELECT
t2.businessID,
t1.userEmail,
t1.userName
FROM t2
LEFT JOIN t1 ON (t1.userID = t2.businessUserID)
LEFT JOIN t3 ON (t3.recordBusinessID = t2.businessID)
WHERE userType = 'active'
AND t3.action = 'pending'
t3.action != 'open'
t3.action != 'closed'
現在のt3が空であるため、結果が得られるはずですが、私はそうではありません。私は何が欠けていますか?
t3が結果を得ることができますが、t3.actionが 'pending'以外の場合は一致する必要があります。
「AND t3.action is null」結果が得られると思います。しかし、あなたのwhere句はわかりませんが、smthgを選択します – splash58
@ splash58 t3にマッチがある場合は結果を選択する必要がありますが、それは '保留中'でなければなりません。 – santa
これが正しいと確信していますか?LEFT JOIN t3 ON(t3.recordBusinessID = t2.businessUserID) '。あなたのフィールド名から、私は結合が 't3.recordBusinessID = t2.businessID'であると期待します。 –