Mailinglisten-Archive |
Michael Borchers wrote: > Die Query: > SELECT angebot.angebot_id, gaubenkalkulation.preisanfrage_id AS > preisanfrage_id, aufkeilfenster_kalk.preisanfrage_id AS preisanfrage_id > FROM angebot > LEFT OUTER JOIN gaubenkalkulation ON angebot.gaubenkalkulation_id = > gaubenkalkulation.gaubenkalkulation_id > LEFT OUTER JOIN aufkeilfenster_kalk ON angebot.fensterkalkulation_id = > aufkeilfenster_kalk.fenster_kalk_id > HAVING preisanfrage_id != NULL > > > Das Problem: > Zu jedem Angebot gibt es entweder eine Preisanfrage in der Gauben-, ODER der > Fensterkalkulation. > Später in php möchte ich aus dem mysql_fetch_array nur > $row['preisanfrage_id'] haben. > > Ohne die HAVING Klausel erhalte ich z.B. folgende Ergebnisse: > angebot_id preisanfrage_id preisanfrage_id > 1 10 NULL > 2 0 NULL > 3 NULL 20 > > > usw. - lese ich die nun php aus, erhalte ich immer die "letzte" > preisanfrage_id, was in der ersten Reihe > z.B. NULL wäre, anstatt die preisanfrage ID davor '10' > > Die HAVING Klausel will natürlich ein eindeutiges Feld, was preisanfrage_id > ja nun nicht mehr ist. > Ich möchte aber vermeiden, die Felder unterschiedlich zu benennen (z.B. > preisanfrage_id1 und -2) > und dann mit php abzufragen if(!empty(preisanfrage_id)) ...!! > > Gibt es da eine Möglichkeit?! Probier mal den Query so zu modifizieren: SELECT angebot.angebot_id, IFNULL(gaubenkalkulation.preisanfrage_id,aufkeilfenster_kalk.preisanfrage_id) AS preisanfrage_id FROM angebot ... > Yannik
php::bar PHP Wiki - Listenarchive