JTL-Wawi: Preise aller oder bestimmter Kundengruppen per SQL löschen
Wenn du Preisdatensätze gezielt aus der Datenbank entfernen möchtest – etwa für einen Neuimport oder eine Bereinigung – kannst du dies direkt über die Tabellen tPreis und tPreisDetail erledigen.
1. Alle Preise löschen (alle Kundengruppen)
DELETE
tPreis
FROM
tPreis
LEFT JOIN tPreisDetail ON tPreis.kPreis = tPreisDetail.kPreis;
Damit werden alle Einträge aus tPreis entfernt, unabhängig von der Kundengruppe.
Da tPreisDetail über kPreis
mit tPreis verknüpft ist, werden die Detailpreise anschließend automatisch als verwaiste Einträge sichtbar und sollten separat gelöscht werden:
DELETE FROM tPreisDetail WHERE kPreis NOT IN (SELECT kPreis FROM tPreis);
2. Nur bestimmte Kundengruppe löschen
DELETE
tPreis
FROM
tPreis
LEFT JOIN tPreisDetail ON tPreis.kPreis = tPreisDetail.kPreis
WHERE
tPreis.kKundenGruppe = 1;
Diese Variante entfernt ausschließlich Preise der angegebenen Kundengruppe (kKundenGruppe = 1
).
Falls du mehrere Gruppen löschen willst, kannst du eine IN-Bedingung verwenden:
WHERE tPreis.kKundenGruppe IN (1, 2, 3);
3. Wichtige Hinweise
Vorher Backup erstellen! Das Löschen wirkt sich direkt auf alle Preisverknüpfungen aus.
Reihenfolge beachten: Erst tPreis, dann verwaiste Einträge aus tPreisDetail löschen.
Keine Abkürzungen: Verwende die vollen Tabellennamen wie oben, damit die Zuordnung klar bleibt.
Verwendung: Sinnvoll z. B. vor einem Massenimport über JTL-Worker, CSV-Import oder Preisautomatisierungen.
Damit lassen sich Preisstrukturen vollständig oder gezielt nach Kundengruppen zurücksetzen.
Hinweis zur Nutzung von Code-Beispielen
Die auf dieser Website bereitgestellten Code-Beispiele und Skripte dienen ausschließlich zu Demonstrations- und Lernzwecken. Die Nutzung in produktiven Umgebungen erfolgt auf eigene Verantwortung. Wir übernehmen keine Haftung für Schäden oder Datenverluste, die durch unsachgemäße Anwendung entstehen.