Eigene Übersicht SQL

Net Cube

Aktives Mitglied
9. September 2015
68
3
Hallo,

ich versuche gerade unter Bestellungen eine eigene Übersicht zu erstellen.
Ich habe eigene Felder in den Artikeln in den ich mehrere Lagerorte habe.
Diese sind als Textfelder angelegt in denen der Bestand im Lagerort eingetragen werden kann.

Nun möchte ich das in den Bestellungen unter Eigene Übersichten anzuzeigen.

Mein SQL Code:

SELECT [Beschaffung].[lvBestellPositionen].[cArtNr] AS Artikelnummer, [Beschaffung].[lvBestellPositionen].[cName] AS Artikelname, [DbeS].[vArtikelAttributEigeneFelder].[cName] AS Name, [DbeS].[vArtikelAttributEigeneFelder].[nWertInt] AS Wert
FROM [Beschaffung].[lvBestellPositionen], [Beschaffung].[lvBestellung], [DbeS].[vArtikelAttributEigeneFelder]
WHERE [kBestellung] = @Key

Zum teil funktioniert es wenn ich den Teil mit den Lagerort raus mache.
Lass ich diesen drinnen hängt JTL sich auf. Da ich ich vermute, dass dann alle Einträge aufgelistet werden und nich nur die von der eigentlichen Bestellung

Ich möchte, dass mir alle Lagerorte angezeigt werden und dazu die Zahl welche hinterlegt worden ist.

Danke schon mal
 

Net Cube

Aktives Mitglied
9. September 2015
68
3
SELECT [Beschaffung].[lvBestellPositionen].[cArtNr] AS Artikelnummer, [Beschaffung].[lvBestellPositionen].[cName] AS Artikelname
FROM [Beschaffung].[lvBestellPositionen]
WHERE [kBestellung] = @Key

Das funktioniert soweit
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.851
556
...
Mein SQL Code:

SELECT [Beschaffung].[lvBestellPositionen].[cArtNr] AS Artikelnummer, [Beschaffung].[lvBestellPositionen].[cName] AS Artikelname, [DbeS].[vArtikelAttributEigeneFelder].[cName] AS Name, [DbeS].[vArtikelAttributEigeneFelder].[nWertInt] AS Wert
FROM [Beschaffung].[lvBestellPositionen], [Beschaffung].[lvBestellung], [DbeS].[vArtikelAttributEigeneFelder]
WHERE [kBestellung] = @Key
...
Du musst der Datenbank schon sagen WIE die beiden Tabellen verknüpft werden sollen, sonst werden ja alles mit allem verbunden...
Tipp: wenn man eigene Abfragen erstellt, dann am besten immer auch den Ausführungsplan anzeigen lassen.
 

Net Cube

Aktives Mitglied
9. September 2015
68
3
Ich habe das gerade umgeschrieben aber nun bekomme ich einfach unter "Name" alle eigenen Felder nach und nach aufgelistet

SELECT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
aaf.cName AS Name,
aaf.nWertInt AS Wert
FROM Beschaffung.lvBestellPositionen bp
JOIN Beschaffung.lvBestellung b ON bp.kBestellung = b.kBestellung
JOIN DbeS.vArtikelAttributEigeneFelder aaf ON bp.kArtikel = aaf.kArtikel
WHERE b.kBestellung = @Key


Hatte ja gehoft, dass mir dann der der Passende ginterlegte Eintrag angezeigt wird.
Die ID vom eigenen Feld ist die 131 und das muss uch da auch noch mit abfragen.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.851
556
...
Die ID vom eigenen Feld ist die 131 und das muss uch da auch noch mit abfragen.
Dann mach diese Bedingung einfach mit in den Join.
Ich habe keine 1.6 deshalb kan ich das nachkucken, wo diese ID steht, aber vermutlich findest du es in vArtikelAttributEigeneFelder

dann könnte man es so machen:

SELECT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
aaf.cName AS Name,
aaf.nWertInt AS Wert
FROM Beschaffung.lvBestellPositionen bp
JOIN Beschaffung.lvBestellung b ON bp.kBestellung = b.kBestellung
JOIN DbeS.vArtikelAttributEigeneFelder aaf ON bp.kArtikel = aaf.kArtikel AND kAttribut=131
WHERE b.kBestellung = @Key

Prüfe aber auch mal, ob du statt der Views auch Tabellen verwenden könntest.
 

Net Cube

Aktives Mitglied
9. September 2015
68
3
SELECT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
attrspra.cWertVarchar AS Lager1,
attrsprb.cWertVarchar AS Lager2,
attrsprc.cWertVarchar AS Lager3,
attrsprd.cWertVarchar AS Lager4
FROM Beschaffung.lvBestellPositionen bp
JOIN Beschaffung.lvBestellung b ON bp.kBestellung = b.kBestellung
JOIN DbeS.vArtikelAttributEigeneFelder aaf ON bp.kArtikel = aaf.kArtikel
JOIN tArtikel a ON a.kArtikel = bp.kArtikel
LEFT JOIN tArtikelAttribut attra ON attra.kArtikel = a.kArtikel AND attra.kAttribut = '131'
LEFT JOIN tArtikelAttributSprache attrspra ON attrspra.kArtikelAttribut = attra.kArtikelAttribut
LEFT JOIN tArtikel b1 ON b1.kArtikel = bp.kArtikel
LEFT JOIN tArtikelAttribut attrb ON attrb.kArtikel = b1.kArtikel AND attrb.kAttribut = '132'
LEFT JOIN tArtikelAttributSprache attrsprb ON attrsprb.kArtikelAttribut = attrb.kArtikelAttribut
LEFT JOIN tArtikel c1 ON c1.kArtikel = bp.kArtikel
LEFT JOIN tArtikelAttribut attrc ON attrc.kArtikel = c1.kArtikel AND attrc.kAttribut = '133'
LEFT JOIN tArtikelAttributSprache attrsprc ON attrsprc.kArtikelAttribut = attrc.kArtikelAttribut
LEFT JOIN tArtikelAttribut attrd ON attrd.kArtikel = a.kArtikel AND attrd.kAttribut = '173'
LEFT JOIN tArtikelAttributSprache attrsprd ON attrsprd.kArtikelAttribut = attrd.kArtikelAttribut
WHERE b.kBestellung = @Key


Das funktioniert nun.
Nur komischerweise werden mir die Artikel doppelt und dreifach ausgegeben.
 

Net Cube

Aktives Mitglied
9. September 2015
68
3
Dann mach diese Bedingung einfach mit in den Join.
Ich habe keine 1.6 deshalb kan ich das nachkucken, wo diese ID steht, aber vermutlich findest du es in vArtikelAttributEigeneFelder

dann könnte man es so machen:

SELECT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
aaf.cName AS Name,
aaf.nWertInt AS Wert
FROM Beschaffung.lvBestellPositionen bp
JOIN Beschaffung.lvBestellung b ON bp.kBestellung = b.kBestellung
JOIN DbeS.vArtikelAttributEigeneFelder aaf ON bp.kArtikel = aaf.kArtikel AND kAttribut=131
WHERE b.kBestellung = @Key

Prüfe aber auch mal, ob du statt der Views auch Tabellen verwenden könntest.
meinst du so?

SELECT DISTINCT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
attrspra.column_name_value AS Lager1,
attrsprb.column_name_value AS Lager2,
attrsprc.column_name_value AS Lager3,
attrsprd.column_name_value AS Lager4
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.851
556
Nein

SELECT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
attrspra.cWertVarchar AS Lager1,
attrsprb.cWertVarchar AS Lager2,
attrsprc.cWertVarchar AS Lager3,
attrsprd.cWertVarchar AS Lager4
FROM Beschaffung.lvBestellPositionen bp
JOIN Beschaffung.lvBestellung b ON bp.kBestellung = b.kBestellung
JOIN DbeS.vArtikelAttributEigeneFelder aaf ON bp.kArtikel = aaf.kArtikel
JOIN tArtikel a ON a.kArtikel = bp.kArtikel
LEFT JOIN tArtikelAttribut attra ON attra.kArtikel = a.kArtikel AND attra.kAttribut = '131'
LEFT JOIN tArtikelAttributSprache attrspra ON attrspra.kArtikelAttribut = attra.kArtikelAttribut
LEFT JOIN tArtikel b1 ON b1.kArtikel = bp.kArtikel
LEFT JOIN tArtikelAttribut attrb ON attrb.kArtikel = b1.kArtikel AND attrb.kAttribut = '132'
LEFT JOIN tArtikelAttributSprache attrsprb ON attrsprb.kArtikelAttribut = attrb.kArtikelAttribut
LEFT JOIN tArtikel c1 ON c1.kArtikel = bp.kArtikel
LEFT JOIN tArtikelAttribut attrc ON attrc.kArtikel = c1.kArtikel AND attrc.kAttribut = '133'
LEFT JOIN tArtikelAttributSprache attrsprc ON attrsprc.kArtikelAttribut = attrc.kArtikelAttribut
LEFT JOIN tArtikelAttribut attrd ON attrd.kArtikel = a.kArtikel AND attrd.kAttribut = '173'
LEFT JOIN tArtikelAttributSprache attrsprd ON attrsprd.kArtikelAttribut = attrd.kArtikelAttribut
WHERE b.kBestellung = @Key


Das funktioniert nun.
Nur komischerweise werden mir die Artikel doppelt und dreifach ausgegeben.
So komisch ist das gar nicht, wenn du mal durchdenkst, welche Ergebnismengen du immer wieder miteinander verknüpfst ;)

Wie gesagt: da ich keinen Zugriff auf 1.6 habe, kann ich zu dem tArtikelAttribut und tArtikelattributSprache gar nicht soviel sagen, aber ausgehend von deinem ursprünglichen musst du nur ergänzen:

SELECT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
aaf.cName AS Name,
aaf.nWertInt AS Wert
FROM Beschaffung.lvBestellPositionen bp
JOIN Beschaffung.lvBestellung b ON bp.kBestellung = b.kBestellung
JOIN DbeS.vArtikelAttributEigeneFelder aaf ON bp.kArtikel = aaf.kArtikel AND (kAttribut=131 OR kAttribut=132 OR kAttribut=173)
WHERE b.kBestellung = @key

Abhängig davon, wie oft du diese Abfrage ausführst, würde ich dann aber schon die lvBestellPositionen, lvBestellung und vArtikelAttributEigeneFelder genauer anschauen und prüfen, ob es Sinn macht, diese Objekte als Grundlage für den Select zu nehmen.
Aber da kann dir sicher jemand, der die 1.6 benutzt ganueres dazu sagen.
 

Net Cube

Aktives Mitglied
9. September 2015
68
3
Nein


So komisch ist das gar nicht, wenn du mal durchdenkst, welche Ergebnismengen du immer wieder miteinander verknüpfst ;)

Wie gesagt: da ich keinen Zugriff auf 1.6 habe, kann ich zu dem tArtikelAttribut und tArtikelattributSprache gar nicht soviel sagen, aber ausgehend von deinem ursprünglichen musst du nur ergänzen:

SELECT bp.cArtNr AS Artikelnummer,
bp.cName AS Artikelname,
aaf.cName AS Name,
aaf.nWertInt AS Wert
FROM Beschaffung.lvBestellPositionen bp
JOIN Beschaffung.lvBestellung b ON bp.kBestellung = b.kBestellung
JOIN DbeS.vArtikelAttributEigeneFelder aaf ON bp.kArtikel = aaf.kArtikel AND (kAttribut=131 OR kAttribut=132 OR kAttribut=173)
WHERE b.kBestellung = @key

Abhängig davon, wie oft du diese Abfrage ausführst, würde ich dann aber schon die lvBestellPositionen, lvBestellung und vArtikelAttributEigeneFelder genauer anschauen und prüfen, ob es Sinn macht, diese Objekte als Grundlage für den Select zu nehmen.
Aber da kann dir sicher jemand, der die 1.6 benutzt ganueres dazu sagen.
Ich benötige aber die Ausgabe der Lager als Tabellenkopf

Artikelnummer | Artikelname | Lager 1 | Lager 2 | Lager 3 | Lager 4

Es kommt auch vor, dass etwas in Lager 1 und in Lager 2 liegt oder in Lager 1 und in Lager 4

Daher benötige ich das.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.851
556
Du hast vier Lager? Und dann speichert du im Artikel in einem eigenen Feld ab in welchem Lager er liegt??
Wieso legst du nicht mehrere Lager in der Wawi an?
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Ameise: Eigene Exporte umbenennen? JTL-Wawi 1.8 6
Neu eigene Felder Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 5
Neu Händlerartikelnummer druch eigene im Auftrag ersetzen User helfen Usern - Fragen zu JTL-Wawi 0
Artikel Eigene Felder kommen nur beim ersten Shopabgleich in den JTL-Shop JTL-Wawi 1.11 2
Ameisen-Vorlagen Attribute und Eigene Felder lassen sich nicht speichern JTL-Wawi 1.11 2
Neu wie Wawi eigene Felder (Kunden) an Shop DB übertragen? User helfen Usern - Fragen zu JTL-Wawi 3
JTL Wawi App eigene Statistiken erscheinen nicht JTL-Wawi App 0
Neu Export eigene Felder User helfen Usern - Fragen zu JTL-Wawi 3
Eigene Spalten in Vorlagen (Rechnung, Angebot, Lieferschein etc.) JTL-Wawi 1.11 4
Neu Kunden-Daten Import / Eigene Felder User helfen Usern - Fragen zu JTL-Wawi 1
Neu Eigene Übersichten nicht mehr möglich? JTL-Wawi - Fehler und Bugs 4
Neu Ausgabe (drucken) Auftrag "eigene Felder" oder "Auftragspositionen.Bezeichnung" Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Eigene Felder des Artikels per Exportvorlage Auftrag auslesen Schnittstellen Import / Export 0
Neu Anzeige Kategorie Pfad in der Übersicht User helfen Usern - Fragen zu JTL-Wawi 1
Übersicht für das Lager JTL-Wawi 1.11 1
Neu angelegte Lieferantenbestellungen nicht sichtbar in der Übersicht Beschaffung JTL-Wawi 1.10 1
Kundenstammdaten - "Eigenes Feld" in SQL auslesen JTL-Wawi 1.9 2
Aktuelles Update 1.11.7: Anmeldedialog merkt sich den letzten User immer noch nicht & falsche Warnung für angeblich fehlendes SQL Server Update JTL-Wawi 1.11 3
Neu Frage zu SQL Statement - Kunden-Kommentar aus Auftrag auf Pickliste User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bestellungen werden verzögert oder nicht gepullt – Ursache: Zeitzonen-Filter im SQL des WooCommerce-Connectors WooCommerce-Connector 0
Neu SQL Worker.tStatus - Bedeutung von nStatus? JTL Ameise - Eigene Exporte 2
Neu Suche Servicepartner für SQL-Abfrage Dienstleistung, Jobs und Ähnliches 2
Neu askJan | Neuer KI-Assistent für JTL-Wawi - schnelle, effiziente und transparente KI-Datenanalyse - ohne SQL! Dienstleistung, Jobs und Ähnliches 41
Neu JTL-Wawi 1.11.5: Sequenzieller Kundenexport mit Workflow und SQL-Queue Schnittstellen Import / Export 2
Neu Wie lässt sich der Lieferstatus von Aufträgen per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 8
Neu JTL Wawi auf Windows Server 2025 mit SQL 2025? Installation von JTL-Wawi 24
Neu JTL Diag / SQL Mitschnitt lässt sich nicht mehr starten User helfen Usern - Fragen zu JTL-Wawi 12

Ähnliche Themen