テーブル:
exp_submissions
-----------------------------------------------------------------------------------
id | entry_id | member_id | member_group | category_id | type_id | portfolio_number
exp_judging
------------------------------------------------
id | rel_id | judge_id | pre | stage_1 | stage_2
狙い:
exp_judging.rel_id
、および で2 つのテーブルを結合します。exp_submissions.id
- 次の行のみを選択:
exp_submissions.member_group = 5
とexp_judging.pre = 1
judge_id != 1
、 またjudge_id IS NULL
rel_id
同じとを持つ既存の行はありませんjudge_id = 1
。
次のクエリは、最後の部分まですべてを実行します。
SELECT sub.entry_id
FROM exp_judging AS jud
LEFT JOIN exp_submissions AS sub ON jud.rel_id = sub.id
WHERE (jud.judge_id != 1 OR jud.judge_id IS NULL)
AND jud.pre = 1
AND sub.member_group = 5
LIMIT 1
これらは、exp_judging テーブルにあるテスト行です。
rel_id = 35
ご覧のとおり、 (ID 200 と 197)を持つ 2 つの行があります。上記のクエリは、行 ID 197 を選択していますが、同じ行がありrel_id
、judge_id = 1
. これは私の問題です。
rel_id
同じandを持つ他の行が存在しないことを確認するためにクエリに追加する必要がありますが、judge_id = 1
方法がわかりません。
ありがとうございました。