SQL Anweisung...



  • Servus,

    ich habe da ein kleine Prob ich brauche eine SQL Anweisung die folgendes macht:

    Tabelle 1:

    Nr  Zahl
    -----------
    
    11    2
    20    2
    31    2
    45    3
    57    4
    68    4
    73    5
    82    5
    

    Tabelle 2:

    ANr   Nr
    -----------
    
    23    11
    0     11
    533   20
    555   45
    0     45
    44    45
    532   68
    443   68
    

    Jetzt soll mir die Anweisung alle auflisten deren "ANr" größer ist als 0 aber deren "Nr" gruppiert nach Zahl ist:

    Tabelle Ergebnis:

    Zahl   Nr
    ----------
    
    2      11 (einer der ANr der Zahl 2 ist größer 0)
    3      45 (")
    4      68 (")
    

    Die restlichen Zahlen fallen weg. Deren Nummern habe keine ANr die größer als 0 sind. Ich brauche im Endeffekt nur eine Bestätigung das bei der Zahl 2 eine ANr existiert die größer ist als 0.

    Prim und Sek Schlüssel sind hierbei mal egal.

    Würde mich freuen wenn mir jemand weiterhelfen könnte..

    *thx*
    Hellsgore



  • hm.
    ich habs nicht getestet und weiss nicht obs so geht
    (oder ob es eine bessere loesung gibt...):

    select nr, zahl
    from tabelle1
    where nr in
      ( select nr from tabelle2 group by nr having anr > 0 )
    

    vor allem das anr in having... da ja nach nr gruppiert wird... hm.
    🙂



  • Nr Zahl
    -----------

    11 2
    20 2
    31 2
    45 3
    57 4
    68 4
    73 5
    82 5

    Tabelle 2:

    C/C++ Code:

    ANr Nr
    -----------

    23 11
    0 11
    533 20
    555 45
    0 45
    44 45
    532 68
    443 68

    [cpp]
    SELECT Tabelle1.ANr, Tabelle2.ANr, Nr
    FROM Tabelle1 LEFT OUTER JOIN
    Tabelle2 ON Tabell1e1.ANr = Tabelle2.ANr
    ODER BY Tabelle1.Nr
    [/cpp]

    irgendwie so?!😕

    mfg



  • SELECT Tabelle1.ANr, Tabelle2.ANr, Nr
    FROM Tabelle1 LEFT OUTER JOIN
    Tabelle2 ON Tabell1e1.ANr = Tabelle2.ANr
    ODER BY Tabelle1.Nr

    irgendwie so?!😕

    mfg[/quote]



  • jetzt reicht's. ich glaub ich registier mich. dann kann ich endlich meinen mist editieren (und löschen 🙂 )

    SELECT Tabelle1.ANr, Tabelle2.ANr, Nr
    FROM Tabelle1 LEFT OUTER JOIN
    Tabelle2 ON Tabell1e1.ANr = Tabelle2.ANr
    WHERE Tabelle1.ANr > 0 AND Tabelle2.ANr > 0
    ODER BY Tabelle1.Nr


Anmelden zum Antworten