Mailinglisten-Archive |
Hey Thomas,
das ist mit sicherheit nicht optimal und bei grossen Tabellen wäre ich
damit echt vorsichtig,
aber das hier tut es:
SELECT
t2.name as name,
t1.farbe as t1farb,
t3.farbe as t3farb
FROM
tabelle1 t1,
tabelle2 t2,
tabelle1 t3,
tabelle2 t4
WHERE
t2.t1_id=t1.id &&
t2.name = t4.name &&
t3.id = t4.t1_id &&
(
t1.farbe="rot" && t3.farbe="grün" ||
t1.farbe="grün" && t3.farbe="rot"
)
GROUP BY
name
Ich war mir nicht sicher ob die Bedingungen deiner Aufzählung alle
zutreffen sollten und in eine Abfrage sollten, oder ob es verschieden
Querys geben soll die die einzelnen Bedingungen erfüllen.
Der von oben sollte sich aber jetzt relativ leicht an das anpassen
lassen, was du brauchst.
Ich könnte wetter das das Ganze mit nem Klugen subselect besser und
eleganter geht, bin aber selbst nicht drauf gekommen, und ich mag
Subselects auch einfach nicht :)
Gruß,
Henning
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive