SELECT MAX (SELECT ...) klappt nicht.
-
Hallo,
ich habe eine auf mehrere Tabellen verteilte eindeutige ID, aber ich schaffe es nicht mir "die nächste freie ID" geben zu lassen. Wohl kann ich mir aber alle zusammen anzeigen lassen:
SELECT obj_id from items
union
SELECT obj_id from peoples
union
SELECT obj_id from npcs;aber
SELECT MAX (obj_id) FROM (
SELECT obj_id from items
union
SELECT obj_id from peoples
union
SELECT obj_id from npcs );führt zu folgendem Fehler:"1248 - Every derived table must have its own alias"
Den Fehler verstehe ich aber nicht, was mache ich falsch?DB: MySQL 5.0 rev 19
OS: Win32
Copmpiler: MinGW (vielleicht gibts ja im Compiler irgendwelche Routinen die hier helfen)Gruss
R
-
Mach ne View und auf die das Select mit dem Max.
-
oder gebe dem select in den klammern einen alias, wie die meldung fordert:
SELECT MAX (obj_id) FROM ( SELECT obj_id from items union SELECT obj_id from peoples union SELECT obj_id from npcs ) as a;
das as kann man sich wahrscheinlich auch sparen.
jenz
-
Wozu willst du alle IDS aus jeder Tabelle?
Es reicht doch wenn du eine Tabelle abfragst.
Solltre das so nicht gehen dann hast du einen entscheidenden Designfehler.