Hallo. Ich hab da ein düsteres Problem bei dem ich hänge.
Ich habe vier Tabellen, deren einzige Gemeinsamkeit das Feld "unit_id" ist.
Ich möchte die Ergebnisse der Haupttabelle abfragen, sofern die weiteren Suchparameter mit den anderen drei Tabellen übereinstimmen.
Tabelle 1 MAINOBJECTS als define enthält die Daten die ich brauche (Ferienwohnungen)
Tabelle 2 AVAIL als define, enthält Zeiträume in denen die Fereinwohnungen aus Tabelle 1 verfügbar sind
Tabelle 3 OFFERS als define, gibt aus um was für ein Objekt es sich handelt
Tabelle 4 SEASON als define, enthält die entsprechenden Mietpreise.
Ich habs schon mit einfachen Joins versucht.
Also z.B.
Dabei erhalte ich viele Ergebnisse, wobei availid, seasonid, mainid usw. fast nie übereinstimmen.
group by unit_id (oder auch group by MAINOBJECTS.unit_id usw. gibt überhaupt nichts zurück, rattert aber ewig. (90000 Einträge)
Also habe ich mich in die JOINS eingelesen.
Hier erhalte ich ebenfalls Ergebnisse, aber wie oben eben keine Zusammenhängenden.
Ich habe jetzt zig Versuche durch und weiß nicht mehr weiter.
Anbei mal der letzte, natürlich überhaupt nicht funktionierende Grüppelcode mit der Hoffnung, dass mir hier jemand helfen kann, bzw. mir einen Link nennen kann indem die Problematik beschrieben ist.
Die SQL Dokus die ich gefunden habe behandeln maximal zwei Tabellen.
Danke im Vorfeld
Ich habe vier Tabellen, deren einzige Gemeinsamkeit das Feld "unit_id" ist.
Ich möchte die Ergebnisse der Haupttabelle abfragen, sofern die weiteren Suchparameter mit den anderen drei Tabellen übereinstimmen.
Tabelle 1 MAINOBJECTS als define enthält die Daten die ich brauche (Ferienwohnungen)
Tabelle 2 AVAIL als define, enthält Zeiträume in denen die Fereinwohnungen aus Tabelle 1 verfügbar sind
Tabelle 3 OFFERS als define, gibt aus um was für ein Objekt es sich handelt
Tabelle 4 SEASON als define, enthält die entsprechenden Mietpreise.
Ich habs schon mit einfachen Joins versucht.
Also z.B.
PHP-Code:
SELECT *,MAINOBJECTS.unit_id as manid,AVAIL.unit_id as availid,SEASON.unit_id as seasonid,OFFERS.unit_id as offersid where AVAIL.feldwert=blah and SEASON.feldwert=blub usw usw
group by unit_id (oder auch group by MAINOBJECTS.unit_id usw. gibt überhaupt nichts zurück, rattert aber ewig. (90000 Einträge)
Also habe ich mich in die JOINS eingelesen.
Hier erhalte ich ebenfalls Ergebnisse, aber wie oben eben keine Zusammenhängenden.
Ich habe jetzt zig Versuche durch und weiß nicht mehr weiter.
Anbei mal der letzte, natürlich überhaupt nicht funktionierende Grüppelcode mit der Hoffnung, dass mir hier jemand helfen kann, bzw. mir einen Link nennen kann indem die Problematik beschrieben ist.
Die SQL Dokus die ich gefunden habe behandeln maximal zwei Tabellen.
PHP-Code:
SELECT *,".MAINOBJECTS.".unit_id
,".SEASON.".unit_id
,".AVAIL.".unit_id
,".OFFERS.".unit_id
FROM (select * from ".MAINOBJECTS."
where ".MAINOBJECTS.".unit_location_country='".$_POST['country']."'".$area.$city.$sleep.$otyp.$volltext.$pers.$ocean.$sd.$skid.$loiped.$stars.")a,
UNION ALL(
(SELECT ".AVAIL.".unit_id as availcalledid
FROM ".AVAIL."
where ".AVAIL.".unit_id = ".MAINOBJECTS.".unit_id and ".AVAIL.".unit_availability_year like '%".$year."%' and INSTR(".AVAIL.".unit_availability_year,'O')!=".$daynum.$realleft."
)b,
UNION ALL
( SELECT ".SEASON.".unit_id as seasoncalledid
FROM ".SEASON."
where ".SEASON.".unit_id = ".MAINOBJECTS.".unit_id ".$pricer."
)c,
UNION ALL
(SELECT ".OFFERS.".unit_id as offerscalledid
FROM ".OFFERS." where ".$top."
)d
)
Kommentar