2

我偶然发现了一个我已经坚持了一段时间的问题。

我有一个评审表(exp_judging),其中包含具有不同judge_id 的相同rel_id 的多行。通常至少有 3 行具有相同的 rel_id。

我需要返回 entry_id,其中“stage_1”列中至少有 2 行带有“1”,每行具有相同的 rel_id,stage_2 IS NULL 并且 member_group 等于 5。

以下查询是我觉得自己拥有的壁橱,但我想它还有一英里远。

SELECT sub.entry_id
FROM exp_judging AS jud
LEFT JOIN exp_submissions AS sub ON jud.rel_id = sub.id 
WHERE jud.stage_2 IS NULL
AND (jud.stage_1=1) >= 2
AND sub.member_group = 5
GROUP BY jud.rel_id
LIMIT 1

如果有人能阐明我如何实现这一目标,我将不胜感激。

谢谢你。

SQL FIDDLE:http ://sqlfiddle.com/#!2/6d7e2/1

4

1 回答 1

0
SELECT sub.entry_id
FROM exp_judging AS jud
LEFT JOIN exp_submissions AS sub ON jud.rel_id = sub.id 
WHERE jud.stage_2 IS NULL
AND jud.stage_1 = 1 
AND sub.member_group = 5
GROUP BY jud.rel_id
HAVING COUNT(*) >= 2
于 2013-10-17T07:52:20.177 回答