Neu SQL Abfrage Stücklisten

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Hallo Community,

leider geben die Workflows sowie die Ameise in bestimmten Punkten nicht genug Daten aus oder sind nicht passend zu Verknüpfen deshalb möchte ich über eine SQL-Abfrage bestimmte Daten der Warenwirtschaft in eine CSV schreiben lassen. Da ich mit den SQL-Abfragen noch nicht so viel zu tun hatte, wollte ich mal wissen ob es dazu einen ausführlichen Guide gibt.
Ich möchte mit der Abfrage die Stücklistenartikel sowie bestimmte Felder (Preise, eigene Felder, Sku usw) aus dem Stücklistenartikel und den einzelnen daraus bestehenden Postionen in eine CSV schreiben die man im Nachgang dann bearbeiten kann.

Eine Hilfestellung wäre super

Vielen Dank
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.086
1.900
Mach das doch einfach per S-Verweis in Excel. Den Export der Artikeldaten kannst du einschränken mit Hilfe der Exportfilter (Ist Stückliste/Ist Komponente von Stückliste).
 

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Die CSV soll automatisch erstellt werden und mit dem Sverweis benötigt man einen Export von den mehreren Exceldatein um überhaupt am ende die Richtigen daten zusammen zu fügen.
 

_simone_

Sehr aktives Mitglied
17. Februar 2013
3.245
463
Emsland
Firma
Notun Delend
Nur so als evtl. Tipp:
Wenn du die Artikel im Shop hast, kannst du bequem eine CSV automatisch über den Export generieren lassen; ohne SQL. Da greift Smarty, was deutlich einfacher ist.
 

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Da sind leider auch nicht alle Angebote enthalten deshalb gestalltet sich mein vorhaben etwas komplizierter. Sonst hätte ich es über die Ameise versucht aber auch da ist leider zu wenig Spielraum für das was ich machen möchte. Auch die Workflows sind bei Stücklisten nicht zu verwenden da auch dort nicht die Möglichkeit besteht an bestimmte felder der Stücklistenkomponenten ran zu kommen.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.086
1.900
Selbstverständlich müssen mehrere Exporte gefahren werden - schon, weil die Stücklisten nicht mit den Artikeldaten ausgegeben werden können. Und da kommen die Sverweise wieder ins Spiel.
 

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Und wenn dann noch Eigene Felder hinzukommen werden es noch mehr Exporte. Somit wird ein Automatisierungsprozess sehr umständlich. Werde mich wohl mit SQL genauer befassen müssen um einen angepassten Export zu erstellen. Gesehen habe ich es ja schon das bestimmte SQL Abfragen eine CSV erstellen können mit den gewünschten Daten.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.086
1.900
Klar gehen wird das. Aber das ist sicherlich nicht mal so eben zusammengestrickt. Am besten wendest Du Dich damit an einen Servicepartner.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
Ich hätte hier eine SQL Abfrage für Stkl Werte die ich im Template nutze, vielleicht hilft es:
Code:
{% capture SLIST %}
                    select ta.*,ts.fAnzahl from tStueckliste as ts  left join tArtikelBeschreibung as ta on ta.kArtikel = ts.kArtikel
                    where ts.kStueckliste = {{ Vorgang.Artikel.Sonstiges.InterneStuecklistennummer }} and ta.kPlattform=30
                    {% endcapture %}
                    {% assign SLISTDaten = SLIST|DirectQuery %}
                        {% for item in SLISTDaten.Daten %}\
                            {% assign Titel = item.cName|Replace:"Bundle-","" %}
                                 {{ item.fAnzahl | FormatNumber: 'N0','de-DE' }} x {{ Titel|Replace:"#.+","" }}<br>
                        {% endfor %}\

Musst halt das Replace rausnehmen oder für die Anpassen. Der Wert in ta.kPlattform=30 ist das wo er die Daten herholt in der Beschreibung da du ja für die Plattformen z.B. unterschiedliche Titel nutzen kannst.
 

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Hab auch schon grob was gebastelt nur bekomme ich den Bezug auf den Artikel noch nicht wirklich hin. Muss nur noch dem eigenen Feld verklickern wo es sich die zuordnung holen muss. Und dann den Code um die nächsten spalten erweitern.

Code:
SELECT cArtNr as 'SKU',
tAttributSprache.cName as 'Namen',
CAST(fWertDecimal AS decimal(17,2)) as 'Feldwert1'

FROM
tArtikel,
tAttributSprache
inner join
tartikelAttributSprache on kArtikelattribut = kArtikelAttribut
where
tAttributSprache.cname = 'Feldwert1' and
kAttribut = '1214' and
fWertDecimal >0 and
tArtikel.kStueckliste >0

Wenn jemand was verbessern würde oder eine schönere Lösung hat, könnt Ihr Sie gerne mitteilen. :D
 
Zuletzt bearbeitet:

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
276
25
Hier mein Gedankengang wie ich es für mich umgesetzt habe. Bitte beachtet das ich kein Experte bin. Nutzung nur auf eigene Gefahr :)


SQL:
SELECT
te1.SKU, (Bezug Stücklistenartikel)
te1.Eigenesfeld, (Bezug Stücklistenartikel)
te2.Eigenesfeld2, (Bezug auf teuersten Artikel in der Stückliste )

FROM (Abfrage 1)
    (SELECT
        a.cArtNr AS 'SKU',
        CAST(s.fWertDecimal AS decimal(17,2)) AS 'EigenesFeld'
        FROM tArtikel a
        INNER JOIN tArtikelAttribut t
            ON a.kArtikel = t.kArtikel
        INNER JOIN tArtikelAttributSprache s
            ON t.kArtikelAttribut = s.kArtikelAttribut
        WHERE t.kAttribut = '(ATTRIBUTSNUMMER)'
            AND s.fWertDecimal > 0
            AND kStueckliste > 0
            )te1
INNER JOIN    (Abfrage2)
    (SELECT
        b.cArtNr AS 'SKU',
        max(s.fWertDecimal) AS 'Eigenesfeld2'
        FROM tArtikel b
        INNER JOIN tStueckliste z
            ON b.kStueckliste = z.kStueckliste
        INNER JOIN tArtikelAttribut t
            On z.kArtikel = t.kArtikel
        INNER Join tArtikelAttributSprache s
            ON t.kArtikelAttribut = s.kArtikelAttribut
        WHERE t.kAttribut = '(ATTRIBUTSNUMMER)'
        AND s.fWertDecimal > 0
        GROUP BY b.cArtNr)te2
ON te1.SKU = te2.SKU

Mit Abfrage 1 mache ich eine gezielte suche nach den Stücklisten Artikeln und einen Wert den ich ausgeben möchte. Mit der Abfrage2 mache ich eine Abfrage auf die teuerste Pos im Stücklistenartikel. Dies verknüpfe ich mit den Inner Join befehlen. Über Powershell lass ich mir dies dann als CSV aus der datenbank abspeichern. Die Abfrage kann man beliebig erweitern.

So zumindes klappt es bei mir ganz gut.
 
  • Gefällt mir
Reaktionen: gnarx und _simone_
Ähnliche Themen
Titel Forum Antworten Datum
Neu Kundengruppe per SQL löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Sql Express 2022 - wawi sagt beim Start es ist ein Update bereit - gelöst Installation von JTL-Wawi 3
Neu Extern erstelltes SQL - Angebot falsche Werte User helfen Usern - Fragen zu JTL-Wawi 3
Neu In welcher SQL Tabelle finde ich den Ansprechpartner des Herstellers? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Seriennummern und SQL Abfragen User helfen Usern - Fragen zu JTL-Wawi 1
Update SQL Server Management Studio JTL-Wawi 1.10 1
Neu Einrichtung SQL in neuem Rechner funktioniert nicht Installation von JTL-Wawi 3
Neu SQL Code für GPSR Felder (Kaufland) zeigt Fehler + wird daher nicht übertragen kaufland.de - Anbindung (SCX) 0
Neu SQL für noch nie Verkaufte Artikel auf Marktplätzen. User helfen Usern - Fragen zu JTL-Wawi 3
Neu Update von 1.5.55.5 auf aktuell, welche Reihenfolge, SQL Express auf Standard Installation von JTL-Wawi 10
Neu PayPal - PayPal Checkout - 221 – SQL Fehler Plugins für JTL-Shop 0
Rechnung Abfrage IstStorniert JTL-Wawi 1.8 2
Neu Verschachtelte Stücklisten in JTL-Wawi User helfen Usern - Fragen zu JTL-Wawi 2
Neu Stücklisten nicht teilbar ?! User helfen Usern - Fragen zu JTL-Wawi 2
Stücklisten Erstellung (Kindartikel nicht angezeigt) JTL-Wawi 1.10 7
Neu JTL-WMS + eazyShipping: Versandart & Gewicht automatisch beim Scan (Stücklisten) Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0

Ähnliche Themen