Aber die Frage ist ob Du das wirklich brauchst?! Wofür brauchst Du das genau? Meistens geht das auch ohne temporäre Tabellen!
wir hatten das Problem vor 2 Tagen schonmal mit der Inkonsistenzabfrage... jaja, man darf Inkonsistenzen nicht einplanen, ok.
Aber ich habe da ein Beispiel mit dem Fahrradverleih genannt - es ist komplizierter, als ich in Erinnerung hatte:
es gibt eine Tabelle für die Daten der Räder (Marke, Typ, Anschaffungspreis, id usw.)
und eine Tabelle 'Ausleihdaten' (Ausleiher, ausleihdatum, rückgabedatum, Rad-id). In dieser Tabelle stehen auch vorbestellte Räder - z.B. 27.9.2002-29.9.2002.
jetzt kommt jemand und will wissen: "welche Räder sind am 28.9.2002 noch frei?"
SELECT t1.id AS id,
FORM Räder AS t1
LEFT JOIN Ausleihdaten AS t2
ON t1.id = t2.Rad-id
WHERE t2.ausleihdatum > $wunschtermin
OR t2.rückgabedatum < $wunschtermin
GROUP BY t1.id;
Das ist noch nicht ganz fertig, da ich nicht testen kann, und mich nicht gut genug auskenne. So fragst Du nur alle ab, die in der Ausleih-Tabelle stehen, was noch fehlt sind die die noch nicht da drin stehen, aber das geht auch irgendwie, aber das weiß ich jetzt leider nicht so genau, ich weiß aber das es geht. Du müßtest in der Where Bedingung noch die neuen Fahrräder mitnehmen, vielleicht sollte man das mit "HEAVING" kombinieren. Vielleicht hilft schin ein einfaches
"OR ISNULL t2.ausleihdatum", ich weiß es leider nicht.
Vielleicht hilft Dur ja: http://www.little-idiot.de/mysql/mysql-117.html
Grüße
Andreas