MySQL auf IS Null zwei Werte

Hallo,

bitte entfernt mir mein Brett vorm Kopf.
Ich habe ein paar Tabellen. Aber z.B. vier.
User, Tender, Watchlist & Offer.
Ich joine über die ersten drei Tabellen um ein result zu erhalten ob der User ein Tender in seiner Watchlist hat (funzt). Nun möchte ich aber dass dies nicht passiert, bzw. aus dem result herausgenommen wird, wenn der user bereits mit (tender_id und user_id) in der offer Tabelle eingetragen ist.
Wenn ich using(tender_id) und tender_id is null verwende, haut es mir auch auser raus die mit der gleichen tender_id ind der watchlist aber nicht in der offer stehen.

TNX so

Frankie

I want to believe… ;o)

Tach Frankie,

ich gebe zu nicht so richtig völlig verstanden zu haben was du machen willst:

du willst Einträge für -User- aus der Tabelle watchlist anzeigen, wenn sie nicht bereits mit -user- und -tender- in der Tabelle offer vorkommen ?

Das könnte so gehen, Annahme ist deine Tabellen sehen etwas so aus:

users tender watch offer
====== ====== ===== =====
userid tenderid userid userid
tenderid tenderid

SELECT watch.*
FROM watch
INNER JOIN tender ON tender.tenderid = watch.tenderid
INNER JOIN users ON users.userid = watch.userid
EXCEPTION JOIN offer ON offer.userid = watch.userid
_____________________AND offer.tenderid = watch.tenderid
WHERE users.userid = ‚BENUTZERID‘

Gruss,
SomeOne

Hi,

vielen Dank.
Ich hab mich wohl eion wenig umständlich ausgedrückt:
Jetzt habe ich es geschaft:
Falls es jemand Interessiert, so ist der Select:

SELECT sb\_watchlist.user\_id, sb\_watchlist.tender\_id, sb\_users.salutation, sb\_users.lastname, sb\_tender.enddate, sb\_tender.title, sb\_tender.user\_id as tenderUser
 FROM sb\_watchlist
 LEFT JOIN sb\_offer
 USING (tender\_id, user\_id) 
 INNER JOIN sb\_users
 ON sb\_users.uid = sb\_watchlist.user\_id
 INNER JOIN sb\_tender
 ON sb\_tender.uid = sb\_watchlist.tender\_id 
 WHERE 1=1
 AND sb\_tender.enddate ".$now." 
 AND sb\_offer.tender\_id IS NULL
 AND sb\_offer.user\_id IS NULL

CU Fr@nkie

The Truth Is Out There… ;o)