2013-08-23 61 views
1

我的表是:Mysql的定製where條件

my table

我想選擇誰的記錄都是失敗(結果爲0),但只是誰擁有相同的COURSE_ID結果爲1

例如,看看我的表有兩行結果= 0,但student_id = 1有結果= 1的另一行,所以我想跳過這條記錄。

對不起讓你困惑。我希望我的期待輸出清楚地解釋我想要的。

期待輸出是:

2 | 1 | 0

+0

子查詢中找到的所有記錄澄清你用'的意思,但忽略誰具有相同的course_id結果是1.' –

+0

例如,看我的表有兩行結果= 0,但student_id = 1有結果= 1的另一行,所以我想跳過這條記錄。 – LoganPHP

回答

3

試試這個

SELECT student_id, course_id, result FROM tbl WHERE result = 0 
AND student_id NOT IN (SELECT student_id FROM table WHERE result =1 
             and course_id = tbl.course_id) 

上面,我們選擇的是有一個result =0只有在student_id數據和COURSE_ID不與result=1

+0

還需要考慮course_id,因爲一個student_id具有多個course_id,結果不同(1或0) – LoganPHP

+0

請參閱我的更新答案。所需要的只是將course_id = tbl.course_id添加到子查詢的where子句中 –