Guest User

Untitled

a guest
Aug 12th, 2012
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. SQL: INNER JOIN NOT EXIST
  2. EnrollID UserID SubjID
  3. 1 1 1
  4. 2 1 2
  5. 3 1 3
  6. 4 3 1
  7. 5 7 2
  8.  
  9. StudentID UserID YearID
  10. 1 1 1
  11. 2 3 1
  12. 3 7 1
  13.  
  14. SubjID SubjCode YearID
  15. 1 English 1
  16. 2 Math 1
  17. 3 Science 1
  18.  
  19. UserID
  20. 2
  21. 3
  22.  
  23. SELECT Students.UserID
  24. FROM Students
  25. WHERE Students.YearID = 1
  26. AND Students.UserID NOT IN (SELECT EnrollStudents.UserID
  27. FROM EnrollStudents)
  28.  
  29. SELECT s.UserID
  30. FROM Students AS s
  31. LEFT OUTER JOIN EnrollStudents AS es ON s.UserID = es.UserID
  32. GROUP BY s.UserID
  33. HAVING COUNT(DISTINCT(es.SubjID)) < (SELECT COUNT(*) FROM Subjects)
  34.  
  35. select s.UserID
  36. from Students s
  37. left outer join (
  38. select UserID
  39. from EnrollStudents
  40. group by UserID
  41. having count(distinct SubjID) = 3
  42. ) a on s.UserID = a.UserID
  43. where a.UserID is null
  44. and s.YearID = 1
  45.  
  46. SELECT
  47. S.StudentID
  48. FROM
  49. ( select count(*) as YrClasses
  50. from
  51. Subjects
  52. where YearID = 1 ) YrSubjects,
  53. Students S
  54. JOIN EnrollStudents ES
  55. on S.UserID = ES.UserID
  56. JOIN Subjects S
  57. ON ES.SubjID = S.SubjID
  58. AND S.YearID = 1
  59. WHERE
  60. S.YearID = 1
  61. HAVING
  62. count(*) < YrSubjects.YrClasses
Advertisement
Add Comment
Please, Sign In to add comment