Andreas Cloos: mySQL: komplizierter (?) Select

Beitrag lesen

Hallo Zusammen,

ich habe drei Tabellen, über die ich eine verknüpfte Abfrage ausführen möchte. Die Tabellen enthalten unter anderem folgende Spalten:

projects_overview: cust_id (Kundennummer), p_start, p_end (Projektanfang und -ende)
customer_data: cust_id, faktura_satz_id
faktura_saetze: faktura_satz_id, faktura_op_rev

Der Select soll nur alle Daten aus der projects_overview auslesen, wenn zum Kunden des Projektes eine faktura_satz_id existiert, die im Feld faktura_op_rev einen bestimmten Text enthält (das können mehrere faktura_satz_ids sein).

Es kann nicht vorkommen, daß in einer der Tabllen leere Zeilen oder Felder vorhanden sind. Left join etc. ist daher meiner Meinung nach nicht notwendig.

Mein Versuch sah so, liefert aber nichts zurück (der Vergleich über das Datum (Projektanfang und -ende) ist aber nicht die Fehlerquelle, wenn ich ihn rausnehme, bleibt das Ergebnis das selbe)...

SELECT po.* FROM projects_overview AS po, customer_data AS cd, faktura_saetze AS fs WHERE (('1041375600' <= unix_timestamp(po.p_end) AND '1072825200' >= unix_timestamp(po.p_end)) OR ('1041375600' <= unix_timestamp(po.p_start) AND '1072825200' >= unix_timestamp(po.p_start)) OR ('1041375600' <= unix_timestamp(po.p_start) AND '1072825200' <= unix_timestamp(po.p_end))) AND cd.cust_id = po.p_cust_id AND fs.faktura_satz_id = cd.faktura_satz_id AND fs.faktura_op_rev LIKE 'Ext. Erlöse'

Wo ist der Fehler?

--
Greetz,
Andreas
Hoffentlich ist bald Wochenende!