heinetz: Delete über mehrere Tabellen

Beitrag lesen

Hallo Forum,

folgendes SQL-Statement gibt einen Datensatz zurück:

SELECT * FROM `produkte`  
LEFT JOIN `produkte_eigenschaften` ON  
`produkte`.`id` = `produkte_eigenschaften`.`produkt_id`  
WHERE `produkte`.`id` = 1  

... der die Werte aus produkte mit id=1 und die Werte
aus produkte\_eigenschaften mit produkt\_id=1 anzeigt.

Um in produkte den Datensatz mit der id=1 und in
produkte\_eigenschaften mit produkt\_id=1 gleichzeitig
zu löschen funktioniert folgendes SQL-Statement:

  
DELETE `produkte`, `produkte_eigenschaften` FROM `produkte`, `produkte_eigenschaften`  
WHERE `produkte`.`id` = `produkte_eigenschaften`.`produkt_id`  
AND `produkte`.`id` = 2  

Im ersten Select-Statement habe ich "LEFT JOIN" verwendet,
weil es vorkommen kann, dass es in der Tabelle produkte\_eigenschaften garkeine Entsprechung gibt. Dann
werden mir die vermeintlichen Felder aus produkte\_eigenschaften
als NULL angezeigt.

In diesem Fall funktioniert mein zweites Statement zum Löschen
nichtmehr, denn die Verknüpfung zwischen den Tabellen:

WHERE produkte.id=produkte_eigenschaften.produkt_id``

... besteht ja nicht mehr. Wie lässt sich das Verhalten des
LEFT JOIN auf mein Delete-Statement übertragen ?

danke für Tipps und

beste grüsse,
heinetz