Shopsystem ShopPilot
ShopPilot => ShopPilot Enterprise => Thema gestartet von: dobra am August 11, 2012, 09:59:50
-
Hallo,
ich möchte aus einer verknüpften csv-Tabelle (aus Händlerliste gebaut) alle neuen Varianten importieren aber ohne dabei die bestehenden zu überschreiben.
Im WC habe ich ja nur die Optionen:
- Löscht alle Daten und legt die importierten Daten neu an
- Es werden Daten hinzugefügt und bestehende aktualisiert
- Es werden Daten hinzugefügt, gelöscht und bestehende aktualisiert
Ich brauche in diesem speziellen Fall aber ein
- Es werden neue Daten hinzugefügt und bestehende nicht verändert.
Geht das irgendwie ? vielleicht mit dem Statement ?
Meine Abfrage schaut jetzt so aus:
SELECT DISTINCT ([Lang-neu1].ArtNr), hop_sitm.MITEMID, [Lang-neu1].[Bez 1], [Lang-neu1].EAN_Artikel, ...
[Lang-neu1].Preis, ('Farbe: ' & RIGHT([Lang-neu1].ArtNr, 5) & ', ' & LCASE([Lang-neu1].Farbe)) AS Beschreibung,
(RIGHT([Lang-neu1].ArtNr, 5) & ' <br><small>' & LCASE([Lang-neu1].Farbe) & '</small>') AS Varibesch, ...
FROM hop_sitm INNER JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID
ORDER BY [Lang-neu1].ArtNr;
Nachtrag:
mit
...
FROM hop_sitm INNER JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID
WHERE ((([Lang-neu1].ArtNr) = [hop_sitm].[ARTNR]))
...
werden alle Varianten ausgegeben, die schon im WC vorhanden sind.
DIE will ich ja aber nicht ;) - sondern die die es noch nicht gibt
aber
WHERE ((([Lang-neu1].ArtNr) <> [hop_sitm].[ARTNR]))
WHERE ((([Lang-neu1].ArtNr) != [hop_sitm].[ARTNR]))
WHERE ((([Lang-neu1].ArtNr) IS NOT [hop_sitm].[ARTNR]))
funktioniert alles nicht ???
Habe jetzt schon stundenlang gegoogelt aber keinen brauchbaren Hinweis gefunden :(
Hat denn niemand einen Tipp, wie ich das lösen kann ?
(würde mir langfristif seeeeeeeeeehr viel Tipparbeit ersparen ...)
-
Hallo Dobra,
versuche mal
WHERE [hop_sitm].[ARTNR] IS NULL
-
mit
WHERE [hop_sitm].[ARTNR] IS NULL
wird überhaupt nichts ausgegeben ???
Weder neue noch alte Varianten - nicht eine einzige Zeile ...
SELECT DISTINCT ([Lang-neu1].ArtNr), hop_sitm.MITEMID, [Lang-neu1].[Bez 1], LCase([Lang-neu1].Farbe) AS Ausdr1, [Lang-neu1].Zusammensetzung, [Lang-neu1].LfLg, [Lang-neu1].Knäuelgewicht, [Lang-neu1].Nadelstärke, [Lang-neu1].EAN_Artikel, [Lang-neu1].Preis, ('Farbe: ' & RIGHT([Lang-neu1].ArtNr, 4) & ', ' & LCASE([Lang-neu1].Farbe)) AS Beschreibung, (RIGHT([Lang-neu1].ArtNr, 4) & ' <br><small>' & LCASE([Lang-neu1].Farbe) & '</small>') AS Varibesch, 'kg' AS csveh, 'div' AS rechne, '0' AS istvari, 'LANG Yarns' AS marke
FROM hop_sitm INNER JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID
WHERE [hop_sitm].[ARTNR] IS NULL
ORDER BY [Lang-neu1].ArtNr;
mit
WHERE [hop_sitm].[ARTNR] IS NOT NULL
werden alle ausgegeben ...
-
Nächster Versuch ;D
SELECT DISTINCT ([Lang-neu1].ArtNr), hop_sitm.MITEMID, [Lang-neu1].[Bez 1], LCase([Lang-neu1].Farbe) AS Ausdr1, [Lang-neu1].Zusammensetzung, [Lang-neu1].LfLg, [Lang-neu1].Knäuelgewicht, [Lang-neu1].Nadelstärke, [Lang-neu1].EAN_Artikel, [Lang-neu1].Preis, ('Farbe: ' & RIGHT([Lang-neu1].ArtNr, 4) & ', ' & LCASE([Lang-neu1].Farbe)) AS Beschreibung, (RIGHT([Lang-neu1].ArtNr, 4) & ' <br><small>' & LCASE([Lang-neu1].Farbe) & '</small>') AS Varibesch, 'kg' AS csveh, 'div' AS rechne, '0' AS istvari, 'LANG Yarns' AS marke
FROM hop_sitm LEFT JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID AND hop_sitm.ITEMID = [Lang-neu1].ArtNr
WHERE hop_sitm.ITEMID IS NULL
ORDER BY [Lang-neu1].ArtNr;
-
kommt auch nichts
hop_sitm.ITEMID = [Lang-neu1].ArtNr
da kann aber auch nichts kommen, weil die Shop-Artikelnr. NICHT die Händlernummer ist !
-
Dann musst du ArtNr ersetzen durch das Feld welches die Shop-Artikelnummer beinhaltet.
-
Hast mail - wird sonst hier zu "speziell" ....
-
ahe kann alles ;D
falls das mal jemand braucht ...
so funktioniert es:
FROM [Lang-neu1] LEFT JOIN hop_sitm ON hop_sitm.MITEMID = [Lang-neu1].MITEMID AND [hop_sitm].[ARTNR] = [Lang-neu1].ArtNr
WHERE [hop_sitm].[ARTNR] IS NULL
DANKE ahe :-*
Hast mir echt seeeeeeeeeehr geholfen damit !
= die Arbeit ganz wesentlich vereinfacht und den Zeitaufwand um 80% reduziert 8)