Christian Seiler: Verschachtelte Abfragen

Beitrag lesen

Hallo maqui,

Wie sind solche Unterabfragen mit MySQL möglich?
UPDATE nutzer
SET jhrggID=(SELECT jhrggID
FROM studenten)
WHERE ID = (SELECT ID
FROM studenten)

Nein. Auch nicht in SQL.

In SQL sowie MySQL ab 4.1 ist folgendes möglich, das nennt sich Subselect.

SELECT * FROM a WHERE a.b IN (SELECT b FROM c)

Bringt Dir allerdings nicht viel, da Du es nicht innerhalb einer Update-Zuweisung durchführen darfst.

Außerdem unterstützt MySQL 3 folgendes:

INSERT INTO a (b, c) SELECT b, c FROM hallo

Mich würde also nicht wundern, wenn

REPLACE INTO nutzer (ID, jhrggID) SELECT ID, jhrggID FROM studenten

funktionieren würde. (bin zu faul nachzuschlagen)

Näheres im MySQL-Handbuch.

Viele Grüße,
Christian