Jörg Reinholz: Teilmengen

Beitrag lesen

Vorwort: Ich bin im Hotel und habe also meinen Nachtrunk schon genommen.

Matthias

Äh. Der mir aus diesem Forum bekannte Matthias Apsel?

Leider krieg ich das mit PHP nicht umgesetzt.

Hm. Wieso nicht?
1)
Hat Dein Benutzer keine Rechte um temporäre Tabellen anzulegen?

Hast Du nicht beachtet, dass es vier (4) Abfragen sind?

Erste:

CREATE TEMPORARY TABLE Mahnung ENGINE=INNODB  
SELECT  
   Schüler.ID AS ID,  
   Name,  
   Vorname,  
   `Text`  
FROM (  
   Kreuztabelle  
   INNER JOIN  
      Schüler  
      ON Kreuztabelle.SchülerID = Schüler.ID  
   )  
INNER JOIN  
   Aufgaben  
   ON Kreuztabelle.AufgabenID = Aufgaben.ID  
WHERE  
   Schüler.Klasse = 29 AND  
   Status = 'o' AND  
   Fälligkeit < '2014-03-09' AND  
   Erlass_k = 0 AND  
   Erlass_n = 0 ;

Zweite:

SELECT * FROM Mahnung; -- alle Schüler mit unerledigten Aufgaben  

Dritte:

SELECT  
   Schüler.Name,  
   Schüler.Vorname  
FROM Schüler  
LEFT JOIN  
   Mahnung  
   ON Schüler.ID = Mahnung.ID  
WHERE  
   ISNULL(Mahnung.ID) AND  
   Schüler.Klasse = 29; -- alle die, die in Mahnung nicht vorkommen

Vierte:
DROP TABLE Mahnung;

Die musst/solltest Du auch einzeln abschicken.

Jörg Reinholz