• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IF-Abfrage in SELECT

Ich führe 10 Tabellen mit UNION zusammen und muss für 2 Tabellen eine If-Abfrage einfügen.
Kann ich die if-Abfrage in die SELECT einfügen?

Ich bekomme für den untenstehnden Text eine Fehlermeldung
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in

Einizige Änderung ist die if-Abfrage. diese muss also der Auslöser sein.

PHP:
SELECT   /* noch zu klären - provisorisch inhaltliches_UpDate */
'technisches UpDate' as tablename,
Veroeffentlicht_am,
'Lueckenfueller' as ueberschrift,
'Lueckenfueller' as url,
'Lueckenfueller' as FSK18;
if (p4=fsk18 AND p3=fsk18)
{technisches_UpDate_fsk18 as inhalt FROM update_technik}
else
{technisches_UpDate as inhalt FROM update_technik};
WHERE Veroeffentlicht_am <= '2011-12-31'
AND Veroeffentlicht_am >= '2011-03-04'

Und wo ich gerade dabei bin.
Spätestens ende des Jahres möchte ich die Tagesdaten über eine Variabel in das Select einfügen.
Ist das möglich?

also z.b.
PHP:
WHERE Veroeffentlicht_am <= $bis
AND Veroeffentlicht_am >= $von
 
Der Query muss vollständig sein. Daher kannst du in variabel gestalten, in der Abfrage aber muss es ein kompletter String sein (In der Hoffnung dass ich das nun richtig erkläre :D).
Also beispielsweise
PHP:
if ($a == $b):
$query = "SELECT döner FROM dönerbude";
else:
$quey = "SELECT pommes FROM pommesbude";
endif;

Dann kannst du das fertige Statement nutzen, daher bspw in mysql_fetch_object($query) einfügen.
 
Das ich die Abfrage vor dem SELECT stellen kann das ist mir klar.
Aber in diesem Fall würde ich gern wissen ob innerhalb des SELECTs auch eine if-Abfrage eingefügt werden kann.

Eben wie im Beispiel
 
Ohne Gewähr:
Der String ist damit nicht mehr vollständig, daher wird eben eine Fehlermeldung ausgegeben. Allenfalls kann man in bestimmten Fällen noch das Statement selbst aus verschiedenen Variablen zusammenbauen, die vorher definiert wurden.
PHP:
$query = "SELECT " . $dingens . " FROM " . $table  . " WHERE " . $condition;
Dann kann man vorher mit dem Variablen jonglieren wie man möchte, bspw. die angesprochene If-Abfrage anwenden.
 
Zurück
Oben