Guest User

Untitled

a guest
Dec 18th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. CREATE TABLE #cities (cityId INT, city VARCHAR(100));
  2. INSERT INTO #cities (city)
  3. VALUES (1, 'Metropolis A'),
  4. (2, 'Town B'),
  5. (3, 'Village C');
  6.  
  7. CREATE TABLE #assignements (assignmentID INT, cityId INT, desciption VARCHAR(100));
  8. INSERT INTO #assignements (assignmentID, cityId, desciption)
  9. VALUES (1, 1, 'Test Alpha Metropol'),
  10. (1, 2, 'Test Alpha Town'),
  11. (1, 3, 'Test Alpha Village'),
  12. (2, 1, 'Test Beta Metropol');
  13.  
  14. INSERT INTO #assignements (assignmentID, cityId, desciption)
  15. VALUES (2, 3, 'Test Beta Village');
  16.  
  17. assignmentID city
  18. 1 'Metropolis A'
  19. 2 'Metropolis A'
  20.  
  21. assignmentID city
  22. 1 'Metropolis A'
  23. 2 'Metropolis A'
  24. 1 'Village C'
  25. 2 'Village C'
  26.  
  27. INSERT INTO #assignements (assignmentID, cityId, desciption)
  28. VALUES (3, 2, 'Test Gamma Town');
  29.  
  30. select a.assignmentID, c.city
  31. from #cities c
  32. join #assignements a on a.cityId = c.cityId
  33. where c.cityId in (
  34. select c.cityId
  35. from #cities c
  36. left join #assignements a on a.cityId = c.cityId
  37. group by c.cityId
  38. having count(*) = (select count(distinct assignmentID) from #assignements))
Add Comment
Please, Sign In to add comment