/*
Find sname of suppliers who supply the part p2 to every projects 
in the city that the supplier lives.

select sname
from   supplier S
  {set of projects supplied by S with part p2}
  contains
  {set of projects in S's city}
*/

select distinct S.sname
from supplier S
where not exists
                (select *
                 from proj
                 where jnum in (select jnum
                                from proj
                                where city = S.city)  
                   and jnum not in
                               (select proj.jnum
                                from spj, proj
                                where spj.jnum=proj.jnum
				  and spj.pnum='p3'
				  and spj.snum=S.snum)
                )
