Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Abfrage bei leerer Detaitabelle (https://www.delphipraxis.net/159238-abfrage-bei-leerer-detaitabelle.html)

olaf 19. Mär 2011 11:33

Datenbank: SQL-Server • Version: 2008 • Zugriff über: mdac

Abfrage bei leerer Detaitabelle
 
Hallo,

ich find momemtan keine Lösung für folgende Abfrage, bin irgendwie blind.
Eine Kundentabelle ist verknüpft über die Kundennr. mit der Tabelle Rechnungen. Ich möchte jetzt alle Kunden ermitteln die noch keine Rechnung haben. Meine Abfrage:

select name from kunden where Inner Join
rechnug On kunden.kundennr = rechnung.kundennr
where rechnung.kundennr is null

ergibt immer eine leere Ergebnismenge.

Vielen Dank im voraus
olaf

mkinzler 19. Mär 2011 11:40

AW: Abfrage bei leerer Detaitabelle
 
SQL-Code:
Select
    k.name
from
    kunden k
where
    k.kundennr not in ( select distinct r.kundennr from rechnung r);

DeddyH 19. Mär 2011 12:27

AW: Abfrage bei leerer Detaitabelle
 
Oder
SQL-Code:
SELECT
  K.Name
FROM
  Kunden K
LEFT JOIN
  Rechnung R ON R.kundennr = K.kundennr
WHERE
  R.kundennr IS NULL
oder
SQL-Code:
SELECT
  K.Name
FROM
  Kunden K
WHERE
  NOT EXISTS(
    SELECT
      *
    FROM
      Rechnung R
    WHERE
      R.kundennr = K.kundennr  
  )
Beides ungetestet

Sir Rufo 19. Mär 2011 13:29

AW: Abfrage bei leerer Detaitabelle
 
Vor allem sollte man überlegen, was ein INNER JOIN denn so macht. (Dokumentation)

olaf 20. Mär 2011 07:54

AW: Abfrage bei leerer Detaitabelle
 
Hallo liebe Leute,

vielen Dank für die Antworten, funktioniert alles super.

olaf


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz