PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abgelaufene Dinge nicht anzeigen = Wo ist der Fehler?



susan.kasten
09-10-2006, 11:00
Hallo,

habe folgendes Problem:

Ich mache eine Datenbankabfrage über zwei Tabellen. In der ersten stehen die User drin und in der zweiten ist hinterlägt, wer Verträge hat und wann sie ablaufen. Nun möchte ich aber alle anzeigen, deren Verträge nicht innerhalb der letzten drei Monate abgelaufen sind.

Ich habe mir eine MySQL-Abfrage erstellt, die das überprüfen soll, aber irgendwie werden alle angezeigt.

Hier die SQL-Abfrage:
SELECT user. *
FROM user, contract
WHERE contract.dateCertifiedTill > date_add( NOW( ) , INTERVAL -3
MONTH )
GROUP BY username

Ich hoffe mir kann hier jemand weiterhelfen und sagen, wo der Fehler ist.

Danke

Susan

Liberty
09-10-2006, 11:15
Moin,

welches DBS verwendest Du?

Auf den ersten Blick würde ich sagen, da fehlt eine Verknüpfung der beiden Tabellen. Du stellst ja in der Abfrage überhaupt keine Verbindung zwischen den beiden Tabellen her (Join), also kann das DBS ja auch keine logische Verbindung zwischen einem Usernamen und einem Vertragsablaufdatum herstellen.

So long,
Liberty

susan.kasten
09-10-2006, 11:54
DANKE!!!
Manchmal kann die Lösung so einfach sein. Der Fehler war so einfach und ich kam einfach nicht drauf.

Liebe Grüße

Susan

Turbohummel
21-10-2006, 21:11
Die Verbindung wird hergestellt, allerdings als Kreuzprodukt. Sprich jeder Satz von Tabelle 1 mit jedem Satz von Tabelle 2. Was in 99% der Fälle eigentlich nicht beabsichtigt.

Liberty
21-10-2006, 21:34
Die Verbindung wird hergestellt, allerdings als Kreuzprodukt. Sprich jeder Satz von Tabelle 1 mit jedem Satz von Tabelle 2. Was in 99% der Fälle eigentlich nicht beabsichtigt.

Ja? Und? Es ist zwar richtig, dass im vorliegenden Fall ein karthesisches Produkt (nennt sich das im Deutschen so?) hergestellt wurde, aber warum hängst Du das jetzt noch als Anmerkung an ein Thema, das schon seit mehreren Wochen erledigt ist??? :confused:

Turbohummel
24-10-2006, 07:39
Weil ich mich beim datum vertan hab, und da ich im wohlverdienten Urlaub war, war das Thema noch ungelesen ;)