Das folgende SQL Script löscht die JTL Internen Stücklisten, wenn dort Informationen im Attribute / Freifeld, welches in Zeile 1 angegeben ist vorhanden sind. Es wird dabei jedoch nicht geprüft, ob diese inhaltlich gleich der Stückliste sind.
declare @attribute VARCHAR(200) = 'Komponente1' DELETE FROM tStueckliste WHERE kStueckliste IN (SELECT a.kStueckliste FROM tartikel a JOIN dbo.tArtikelAttribut a1 ON a1.kArtikel = a.kArtikel JOIN dbo.tArtikelAttributSprache aas ON aas.kArtikelAttribut = a1.kArtikelAttribut JOIN dbo.tAttributSprache as1 ON as1.kAttribut = a1.kAttribut AND as1.kSprache = 0 WHERE as1.cName = @attribute AND ISNULL(aas.cWertVarchar, '') != '' AND a.kStueckliste != 0) UPDATE a SET a.kStueckliste = 0 FROM tartikel a JOIN dbo.tArtikelAttribut a1 ON a1.kArtikel = a.kArtikel JOIN dbo.tArtikelAttributSprache aas ON aas.kArtikelAttribut = a1.kArtikelAttribut JOIN dbo.tAttributSprache as1 ON as1.kAttribut = a1.kAttribut AND as1.kSprache = 0 WHERE as1.cName = @attribute AND ISNULL(aas.cWertVarchar, '') != '' AND a.kStueckliste != 0