Select typ
from vara
where varunr in
(select varunr
from lager
group by varunr
having count(distinct företag) > 1)
Hej
Har en uppgift på KTH där jag ska få fram ett resultat från en databas. Jag har löst frågan och skickat in den men jag tyckte inte att det var någon snygg lösning eftersom jag själv fick räkna dem i en lista. Var dock inget krav på att lämna in sql-satsen.
Här är frågan:
Finns det någon vara som levereras av två eller fler olika företag?
Databasdiagram är:
Namn Schema
försäljning (avd, varunr, volym)
lager (avd, varunr, företag, volym)
leverantör (företag, adress)
vara (varunr, typ)
Man kan testa att skriva frågor mot databasen på denna adress:
http://dupond.nada.kth.se:8080/webbvaruhuset/
Det är en mySQL databas.
Min fråga ser ut så här men den behöver göras så att enbart företag som säljer två produkter visas.
Select v.typ, l.företag from vara v join lager l on v.varunr = l.varunr
group by v.typ, l.företag
order by v.typ
Försökt i nästan en timma med detta men inte lyckats. Inte så stor koll på just mySQL och många saker jag testat fungerar inte i databasen.
Gissar på att man ska använda någon form av having count(*) > 2 men det verkar inte fungera när man har group by.
om man gör en sub select och sätter den as namn
Så kan man inte i Where satsen använda namn > 2 heller...
Hur fixar jag detta?