Werte in anderer Tabelle vorhanden?
Mipe
- datenbank
Hallo,
ich habe hier zwei Tabellen.
[Kunden] = Kundendaten mit Kundennr.
[Rabatt] = Rabattangaben mit Kundennr.
Wie kann ich mir jetzt alle Kundendaten anzeigen lassen, deren Kundennummer NICHT in [Rabatt] vorkommt?
Ich wäre euch für eine Antwort sehr dankbar.
Mipe
Hi Mipe,
mit welcher "Sprache" holst du denn die Informationen ? Perl ? Php ?
dann kann man weiter helfen.
mfg
.mase
Meine Frage war eigentlich, ob es da mittels SQL eine Ergebnisliste gibt. Also ohne nebenher nochwas zu tun.
Ich erstelle nämlich mittels Crystal Reports einen Bericht direkt aus der Datenbank.
Mipe
Hi!
Mein Vorschlag (Wahrscheinlich eher stümperhaft):
1. Tabelle abfragen....
KNs in Array (nummer[$i]) speichern
2. tabelle abfragen
KNn nur in 2tem array (nummer_ohne_rabbat[$i]) speichern, wenn diese nicht im Array nummer[$i] vorhanden sind...
Gruss adrian
Halihallo Mipe
ich habe hier zwei Tabellen.
[Kunden] = Kundendaten mit Kundennr.
[Rabatt] = Rabattangaben mit Kundennr.
Wie kann ich mir jetzt alle Kundendaten anzeigen lassen, deren Kundennummer NICHT in [Rabatt] vorkommt?
Informiere dich über LEFT|RIGHT OUTER JOIN. Dieser gibt dir auch bei nicht-existentem
Eintrag der anderen Tabelle einen Datensatz aus, alle Felder aus Rabatt werden mit NULL
gefüllt. In WHERE kannst du dieses Kriterium testen.
SELECT * FROM Kunden LEFT OUTER JOIN Rabatt ON (Kundennr) WHERE Rabatt.Kundennr=NULL
ob dies funktioniert hängt jedoch von der verwendeten Datenbank ab, die du uns
vorenthälst.
Viele Grüsse
Philipp
Ich verwende hier einen MS-SQL-Server, bei dem ich jetzt schon jede vorgeschlagene Methode probiert habe... nur funktioniert keine einzige... :(
Mipe
Halihallo Mipe
Ich verwende hier einen MS-SQL-Server, bei dem ich jetzt schon jede vorgeschlagene Methode probiert habe... nur funktioniert keine einzige... :(
SELECT * FROM Kunde WHERE Kunde.Kundennr NOT IN (
SELECT Kundennr FROM Rabatt
)
Viele Grüsse
Philipp
Hi!
Ich verwende hier einen MS-SQL-Server, bei dem ich jetzt schon jede vorgeschlagene Methode probiert habe... nur funktioniert keine einzige... :(
Tja, wozu gibt es Dokumentationen? Bei MySQL könnte ich Dir einen Link posten, aber bei MS SQL kenne ich mich nicht aus, bzw. kenne die Doku nicht. Darin wird irgendwo stehen wie das genau geht. Genügend Stichwörter um in der Doku zu suchen solltest Du jedenfalls haben.
Grüße
Andreas
Hi Philipp!
ob dies funktioniert hängt jedoch von der verwendeten Datenbank ab, die du uns
vorenthälst.
bei MySQL z.B. geht das nicht mit "= NULL", nur mit "IS NULL", aber darauf hattest Du ja hingewiesen.
Grüße
Andreas
Halihallo Andreas
ob dies funktioniert hängt jedoch von der verwendeten Datenbank ab, die du uns
vorenthälst.
bei MySQL z.B. geht das nicht mit "= NULL", nur mit "IS NULL", aber darauf hattest Du ja hingewiesen.
Danke. Ich muss gestehen, ich hätte es falsch gemacht ;-)
Viele Grüsse und Danke
Philipp
select * from Kunden where Kundennr not in Rabatt
Hallo,
ich habe hier zwei Tabellen.
[Kunden] = Kundendaten mit Kundennr.
[Rabatt] = Rabattangaben mit Kundennr.Wie kann ich mir jetzt alle Kundendaten anzeigen lassen, deren Kundennummer NICHT in [Rabatt] vorkommt?
Ich wäre euch für eine Antwort sehr dankbar.
Mipe
Hallo Mipe
[Kunden] = Kundendaten mit Kundennr.
[Rabatt] = Rabattangaben mit Kundennr.Wie kann ich mir jetzt alle Kundendaten anzeigen lassen, deren Kundennummer NICHT in [Rabatt] vorkommt?
Probiers mal mit folgendem SQL-Query:
SELECT KUNDEN.* FROM KUNDEN,RABATT WHERE KUNDEN.KUNDENNR <> RABATT.KUNDENNR
Bei meiner Access-DB funktioniert es so, vielleicht musst du, wenn du ein anderes DBS verwendest, noch etwas anpassen.
MfG
Tom2
Danke für eure Hilfe. Hier zur Info der SQL-Befehl, mit dem es funktioniert:
---
SELECT * FROM Kunden WHERE (NOT EXISTS (SELECT * FROM Rabatt WHERE Kunden.Kundennr = Krabatt.Kundennr))
---
Mipe