2013-10-17 39 views
2

我偶然發現了一段時間以來一直存在的問題。查找至少有2行值爲x的條目

我有一個判斷表(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

+0

安置自己的表,數據和sqlfiddle.com查詢,然後提出建議。 – Tarik

+0

@Tarik我創建了一個sqlfiddle並添加了問題的鏈接。謝謝。 – user2889310

回答

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 
相關問題