Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » SQL-Abfrage » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 5 Beiträge
kruemel

Also für ANY hab ich in der zwischenzeit das

SELECT DISTINCT Person.*
FROM Person, Pferd
WHERE Person.Alter>Pferd.Alter
AND Pferd.Rasse='Araber';


Aber bei ALL häng ich wirklich in den Seilen, komm da auf keine richtige Lösung

Aber dennoch danke für die anregung
kiste

Bei ANY werden auch noch die Daten des Pferdes ausgegeben, da solltest du eben nur die der Person ausgeben.

Ja mit Gruppierung meinte ich Group By
kruemel

Hey,

Danke erstmal für die Hinweise...werd mal schauen, was da letztendlich bei rauskommt (setz mich am WE nochmal daran)

muss denn für das ANY viel geändert werden oder einfach nur des Distinct eingesetzt???

und Gruppierung meinst du sicherlich GROUP BY oder??
kiste

Hallo,

das passt so nicht wie du es gemacht hast.

Du hast alle Tupel ausgewählt so dass das Alter der Person älter ist als der des Pferdes das ein Araber ist. In der Ausgangsabfrage ist jedoch nur die Information von der Person. Die Abfrage eignet sich jedoch gut als Grundlage für ANY.
Benutze distinct in der Abfrage um nur einmal die Person zu bekommen!

Für ALL benutze die Funktion MAX zusammen mit einer Gruppierung und HAVING
kruemel SQL-Abfrage

Hallo,

ich habe ein Problem mit einer SQL-Abfrage...eigentlich nicht mit der Abfrage ansich, sondern eher mit den begriffen "ALL" und "ANY", vielleicht kann mir ja jemand helfen!

Bei "ALL" müssen ja alles "true" ergeben und bei "ANY" muss nur eins "true" sein, damit alle gelten (soweit zu meinem verständnis und unseren Folien!!)

Die Aufgabe lautet, dass mna die Abfrage so umschreibt, dass die Schachtelung aufgehoben wird!!

Ausgangsabfrage (in der Klammer ist jetzt die zweite ausgangsabfrage!!!)

SELECT *
FROM Person
WHERE p.Alter > ALL(ANY)
(SELECT Alter
FROM Pferd
WHERE Rasse=’Araber’);

Lösung für ALL müsste dann ja so sein oder??


SELECT *
FROM Person, Pferd
WHERE Person.Alter > Pferd.Alter
AND Pferd.Rasse = 'Araber';


Aber wie muss das ganze dann für ANY aussehen???

Wenn jemand helfen kann wäre das echt super...

Danke im voraus
kruemel