Avatar billede clatelopspoi Nybegynder
20. november 2007 - 17:36 Der er 5 kommentarer og
1 løsning

Hjælp til forespørgsel.

Hejsa,
Jeg har denne database øvelse i skolen med følgende relationer:

pizzariaer(rid : integer, rnavn : string, adresse : string, tlf : integer, udbr : integer)
pizzaer(rid : integer, pid : integer, pnavn : string, pris : integer, indbagt : string)
ingredienser(rid : integer, pid : integer, inavn : string)
ekstra(rid : integer, enavn : string, pris : integer)

Men nu sidder jeg fast ved spørgsmålet:
Find navnene på de pizzariaer som enten sælger Calzone eller Parma.

Jeg er selv kommet frem til følgende:
SELECT rnavn FROM pizzariaer A NATURAL JOIN pizzaer B WHERE (B.pnavn = 'Calzone' OR B.pnavn = 'Parma');

Men denne forespørgsel giver også navnene på pizzariaerne som både sælge Calzone og Parma, det er dem jeg ikke kan finde ud af at få sorteret fra.

På forhånd tak.
Avatar billede arne_v Ekspert
20. november 2007 - 17:45 #1
Du er heldig - MySQL understoetter XOR.

... WHERE B.pnavn = 'Calzone' XOR B.pnavn = 'Parma';
Avatar billede clatelopspoi Nybegynder
20. november 2007 - 17:51 #2
HM... Det giver nøjagtig det samme resultat som hvis jeg bruger OR. ?
Avatar billede arne_v Ekspert
21. november 2007 - 03:07 #3
hmm - ja

prøv:

SELECT rnavn
FROM pizzariaer
WHERE EXISTS (SELECT * FROM pizzaer WHERE pizzaer.rid = pizzarier.rid AND pizzaer.pnavn = 'Calzone'
XOR EXISTS (SELECT * FROM pizzaer WHERE pizzaer.rid = pizzarier.rid AND pizzaer.pnavn = 'Parma')
Avatar billede arne_v Ekspert
21. november 2007 - 03:08 #4
hov der mangler en parentes

SELECT rnavn
FROM pizzariaer
WHERE EXISTS (SELECT * FROM pizzaer WHERE pizzaer.rid = pizzarier.rid AND pizzaer.pnavn = 'Calzone')
XOR EXISTS (SELECT * FROM pizzaer WHERE pizzaer.rid = pizzarier.rid AND pizzaer.pnavn = 'Parma')
Avatar billede clatelopspoi Nybegynder
21. november 2007 - 08:33 #5
Hejsa.. Fandt selv ud af det på en anden måde... Men din forespørgsel der virker også perfekt, Så smid et svar så du kan få point.
Avatar billede arne_v Ekspert
21. november 2007 - 15:18 #6
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester