Vinnaren i pepparkakshustävlingen!
2006-10-26, 17:19
  #1
Medlem
Osäker på var jag skulle posta denna fråga.. Jag har följande tabeller:

Vara(vnr, vnamn)
Leverantor(lnr, namn, adress)
Levererar(lnr,vnr,pris)

Och så vill jag få fram följande:

* vnr och vnamn för de varor som levereras av leverantör med lnr=111 men inte av leverantör med lnr=222

samt,

* lnr, namn, adress för alla leverantörer som levererar precis 1 vara
Citera
2006-10-26, 18:45
  #2
Avstängd
Cowers avatar
Min SQL är lite rostig, men jag tror att
Kod:
select * from Vara where vnr in ((select vnr from Levererar where lnr=111) minus (select vnr from Levererar where lnr=222));
löser det första problemet.
Citera
2006-10-26, 20:54
  #3
Medlem
Hazs avatar
Och min SQL är också lite rostig, men något i stil med
Kod:
select lnr, namn, adress from Leverantor where lnr in
(select lnr from Levererar group by lnr having count(lnr) like 1)
borde funka för det andra problemet. Finns berjis enklare sätt, men...
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback