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)