MYSQL-Abfrage



  • Hi,

    hab fettes Problem mit einer Abfrage, vielleicht kann mir jemand helfen!?

    Zwei Tabellen:

    1. Adressen mit einer ID

    ID | Name

    1 Mayer
    2 Schmidt
    3 Hansen
    4 Schröder

    1. Tabelle mit Eigenschaften zu diesen Adressen
      IDAdr ist die ID aus Adressen

    ID | IDAdr | Eigenschaft

    1 1 10
    2 1 11
    3 1 14
    4 2 11
    5 2 10
    6 3 11
    7 3 14
    8 4 11

    So, nun will ich folgendes wissen:
    Gib mir alle IDs aus Adressen, die die Eigenschaft 10 nicht haben, hier also
    nur die Adressen.ID 3 und 4. Wichtige Bedingung: es sollte mit beiden Tabellen
    gearbeitet werden. Evtl eine join mit "on Adressen.ID = Eigenschaften.IDAdr"

    Geht sowas?

    Jemand ne Idee

    Gruss
    Ernst



  • die erste Tabelle brauchste dazu nicht, die ordnet einer Id ja nur einen Namen zu

    so in er Art wie

    Select IDAddr from Table_Adressen
    WHERE IDAddr not in
    SELECT IDAddr from Table_Adressen
    WHERE Eigenschaft = 10;

    so könnte es funzen



  • Danke.

    1. Mein mysql-version hier in der firma macht keine sub-selects,
      mysql nähert sich ja erst mit vers. 4 dem sql-92 standard

    2. ich brauche auch die namen aus der Adressen-tabelle, und auch namen, die keine eigenschaft besitzen, die gehören ja auch uzu der menge, die die eigenschaft 10 nicht haben

    naja, das hilft also leider nicht richtig weiter

    gruss
    ernst



  • ich glaub ohne subselects geht das nicht...



  • vielleicht so:
    select adressen.id from adressen, eigenschaften where adressen.id = eigenschaften.idaddr and eigenschaften.eigenschaft <> 10;


Anmelden zum Antworten