phpbar.de logo

Mailinglisten-Archive

[php] Subselect per PHP simulieren

[php] Subselect per PHP simulieren

php_(at)_phpcenter.de php_(at)_phpcenter.de
Tue, 9 Jul 2002 08:54:06 +0200


Hallo Liste,

ich habe mir eine kleine Funktion gebastelt mit welcher ich ua. Subselect's
innerhalb einer mySQL DB simuliere.

Zur Zeit verarbeite ich zwei Varianten...

(1) update ... where id in (subselect(select id from ...))
In diesem Fall darf innerhalb des subselect nur ein Wert geliefert werden
welcher als String eingefügt wird: ... in ('1','7','9',...)

(2) select * from table left join subselect(...) as tmp on table.id=tmp.id
Bei dieser Variante wird zuerst mittels "create table" eine temporäre
Tabelle erzeugt auf welche ich in der eigentlichen Abfrage per JOIN
zugreifen kann.

Funktioniert soweit eigentlich schonmal ganz gut, vorallem da bei (2) auch
Indizes angelegt werden können und die Sache dann doch recht fix geht ;-)

Mein Prob:
(1) Das Ganze ist mit Sicherheit kein bisschen SQL Standard konform. Wie
wird ein Subselect normalerweise angewendet?
(2) Die temporären Tabellen werden am Ende wieder entfernt. Tritt demnach
bereits innerhalb einer Anweisung ein Fehler auf, kann ich diesen mit
mysql_error() nicht mehr abfragen. Gibt es hier eine Möglichkeit einen
eigenen Fehlercode zu setzen?

Gruß und Danke
Andre


php::bar PHP Wiki   -   Listenarchive