Hello,
(SELECT * FROM tabelle1, tabelle2 WHERE tabelle1.status='on' && tabelle1.gueltig > ".$cfg['time']." && tabelle1.id = tabelle2.id && tabelle1.option= 'ja')
oha, nun ja.
1.
Ich halte es ja schon für unklug, bei einer einzelnen Tabelle SELECT * zu schreiben, aber bei einem JOIN mit SELECT * zu arbeiten verdoppelt ja gleich die Wahrscheinlichkeit, unerwartete Spalten zu kriegen. Wir haben die Diskussion hier öfter, ob SELECT * jetzt schlimm ist oder nicht. Im Fall von UNION kommt dem eine gewisse Brisanz zu denn das UNION ist darauf angewiesen, dass alle Abfragen exakt die gleichen Spalten in exakt der gleichen Reihenfolge liefern.
Wenn du die Spalten also explizit auflistest, verringerst du das Risiko von Problemen und bringst dich gleichzeitig deinem Alias näher:
SELECT tabelle1.spalte1, tabelle1.spalte2, tabelle2.spalte1, tabelle2.spalte2... FROM tabelle1, tabelle2 WHERE tabelle1.status='on' && tabelle1.gueltig > ".$cfg['time']." && tabelle1.id = tabelle2.id && tabelle1.option= 'ja'
2.
Die Syntax "tabelle1, tabelle2" halte ich darüberhinaus auch für unglücklich. Wenn du mehr wissen willst, dann lege ich dir z.B. meinen Artikel zu JOINs und Vinzenz Fortsetzung Fortgeschrittene Joins ans Herz.
MfG
Rouven
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
He is entertaining both out of the car and in the car because if you tell him that a corner is almost flat then he is the guy who is going to try to take it flat even if it means shunting it the other side of it, he will come with the data and say 'hey, I may have crashed and destroyed the car, but I was flat-out'. That is an interesting quality that he has! -- Team Member on Jacques Villeneuve