Hilfe bei SQL Subselects

Dieses Thema im Forum "Software Probleme" wurde erstellt von Warenschild, 17.01.2013.

  1. #1 Warenschild, 17.01.2013
    Warenschild

    Warenschild Neuer Benutzer

    Dabei seit:
    17.01.2013
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo zusammen,

    ich arbeite gerade mit Subselects bekomme aber den Verknüfungsoperator noch nicht so wirklich hin. Falls jemand hier mit SQL bewandert ist, ich bräuchte dringend hilfe.

    Ein Beispiel:

    Aufgabe:
    Welche Vornamen gibt es in München

    Gegeben:
    Zwei Tabellen
    Personen | Pnr(P) Name Vorname PLZ (F) Strasse
    PLZ | PLZ(P) Ort


    Mein Ansatz:
    select Vorname from Personen where (??????) (select Ort from PLZ where Ort = 'München');

    habe schon versucht sowas wie
    select Vorname from Personen where plz in (select Ort from PLZ where Ort = 'München');

    Aber ich verstehe einfach nicht wirklich wie man die Operatoren (ALL ANY IN) nach der ersten Where Clause verwendet.
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. #2 xandros, 17.01.2013
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.889
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    (P) bzw. (F) kennzeichnen in deinen Tabellen den Primary Key bzw. Foreign Key?

    Beliebte und immer wieder gern gemachte Falle: Name ist als Feldbezeichnung fuerchterlich und sollte moeglichst geaendert werden. Sowohl in Programmiersprachen als auch in SQL-Varianten ist das ein Schluesselwort, welches dann anstelle des Feldnamens interpretiert wird. Besser ist hier IMMER anstelle von Name z.B. Nachname zu verwenden.

    Einfacher waere es ein Join auf beide Tabellen durchzufuehren und die WHERE-Klausel dann auf den gejointen Ort zu filtern.

    Code:
    [I]SELECT[/I] Personen.Vorname [I]FROM[/I] Personen [I]INNER JOIN[/I] PLZ [I]ON[/I] Personen.PLZ=PLZ.PLZ [I]WHERE[/I] PLZ.Ort='München';
    Um doppelte Anzeigen dann zu unterbinden, wird einfach ein Group By angehaengt:
    Code:
    [I]SELECT[/I] Personen.Vorname [I]FROM[/I] Personen [I]INNER JOIN[/I] PLZ [I]ON[/I] Personen.PLZ=PLZ.PLZ [I]WHERE[/I] PLZ.Ort='München' [I]GROUP BY[/I] Personen.Vorname;
    Wenn du hingegen wirklich mit IN etc. arbeiten willst:
    Im SubSelect wird jeder Ort ausgewaehlt, der als Ort 'Muenchen enthaelt. Die PLZ hingegen stimmt aber keinesfalls mit dem Ortsnamen ueberein. (Falsches Feld ausgewaehlt!)
    Der korrekte SQL-String muesste also wie folgt lauten...
    Code:
    [I]SELECT[/I] Personen.Vorname [I]FROM[/I] Personen [I]WHERE[/I] Personen.PLZ in ([I]SELECT[/I] PLZ.PLZ [I]FROM[/I] PLZ [I]WHERE[/I] PLZ.Ort='München');
     
Thema: Hilfe bei SQL Subselects
Besucher kamen mit folgenden Suchen
  1. sql verknüfungsoperator

Die Seite wird geladen...

Hilfe bei SQL Subselects - Ähnliche Themen

  1. Hilfe! Überfordert!

    Hilfe! Überfordert!: Hallo zusammen, Ich habe ein Problem, bei dem ich noch nicht mal sicher weiß, ob es sich um ein Software- oder Hardware-Problem handelt (also...
  2. Neuling braucht Hilfe bei Grafikkarte, Bluescreen/Absturz und Internet Baustellen

    Neuling braucht Hilfe bei Grafikkarte, Bluescreen/Absturz und Internet Baustellen: Hallo. Ich bin relativer Neuling in der Materie Hardware/Software... Vor wenigen Jahren ging meine Festplatte hinüber - warum auch immer... Ich...
  3. HILFE!Ati Catalyst Control Center gelöscht

    HILFE!Ati Catalyst Control Center gelöscht: Guten Morgen! Gestern habe ich einen riesigen Mist mit meinem Laptop angestellt... Ich wollte mehr Platz schaffen, weilschon andauernd die Meldung...
  4. Hilfe bei der Zusammenstellung

    Hilfe bei der Zusammenstellung: Hallo, Ich baue mir gerade einen Rechner zum zocken zusammen:...
  5. Hilfe ich werd Wahnsinnig mit TP Link VR900v

    Hilfe ich werd Wahnsinnig mit TP Link VR900v: Guten Morgen zusammen, habe mir, nach dem meine fritzboxen abgekackt sind einen tp link vr900v gekauft. Mein internet anbieter ist Vodafone. Mit...