2014-10-20 77 views
0

使用一張表,我試圖運行一個匹配用戶標識到課程的查詢。 的目標是看到用戶ID不在課程, 到目前爲止,我可以顯示USID的是不是所有的課程,但現在我想顯示他們是不是在display row where id is not displayed

SELECT usid, course, COUNT(*) 
FROM COURSE_COMMENTS 
WHERE course in (1,2,3,4,5,6,7,8) 
GROUP BY usid 
HAVING COUNT(*) < 8 
課程

另外,usid和course都不是主要的,所以它們可以多次出現。 有什麼想法?

+0

,你能否告訴我們的模式 – 2014-10-20 21:28:57

回答

0

如果你有一個courses表,你可以做這樣的事情:

select u.usid, c.course 
from (select distinct course from courses where course in (1,2,3,4,5,6,7,8)) c cross join 
    (select distinct usid from course_comments) u left join 
    course_comments cc 
    on cc.course = c.course and cc.usid = u.usid 
where cc.course is null; 
+0

那粗糙的部分,它們是在同一個表。實際的表格模式比我輸入的更令人困惑,但它是我想要做的事情的一般想法。 – amazingacademy 2014-10-20 21:37:15

+0

@amazingacademy。 。 。實際上,您可以從course_comments中選擇第一個子查詢「select distinct course」。 。 )'。然而,我擔心並非所有的課程都必須在該表格中。 – 2014-10-20 21:54:55

+0

我看到你在這裏領導,但現在我得到'在字段清單中的usid含糊不清'。另外,我創建了一個課程表,列出了我所有的課程。 – amazingacademy 2014-10-20 21:57:09