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.835
551
...
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.835
551
...
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.835
551
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.835
551
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
Neu Eigene Felder des Artikels per Exportvorlage Auftrag auslesen Schnittstellen Import / Export 0
Vorlagen und eigene Felder JTL-Wawi 1.10 3
eigene mehrere Bankverbindungen - Zugferd Datei anpassen? JTL-Wawi 1.11 2
"Eigene Felder" in ebay Designvorlage JTL-Wawi 1.11 2
Neu KI-WaWi-Workflows: Eigene KI-Endpunkte direkt aus JTL-Workflows ansprechen – ohne Plugin, flexibel und schnell Dienstleistung, Jobs und Ähnliches 3
Eigene Felder im Block "Firmen- und E-Mail Einstellungen verwalten" JTL-Wawi 1.10 3
Neu Automatisch generierte Eigene Felder PAYPAL_FUNDING_SOURCE und AmazonPay-Referenz User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Bestellbestätigung User helfen Usern - Fragen zu JTL-Wawi 4
Beantwortet Übersicht Artikel in welchem Shop aktiv? User helfen Usern - Fragen zu JTL-Wawi 4
Neu JTL Wawi auf Windows Server 2025 mit SQL 2025? Installation von JTL-Wawi 4
Neu JTL Diag / SQL Mitschnitt lässt sich nicht mehr starten User helfen Usern - Fragen zu JTL-Wawi 6
Neu JTL_DirectQuery - SQL Abfrage Anzahl der Pakete auf Versandliste (DPD) User helfen Usern - Fragen zu JTL-Wawi 3
Neu Welche SQL Server Version für WaWi 1.0.0.0.0 unter Windows 11 Installation von JTL-Wawi 6
Neu Bilder von Kinderartikeln auf Vaterartikel kopieren via SQL Eigene Übersichten in der JTL-Wawi 2
Neu Täglich SQL Backup vom Shop Allgemeine Fragen zu JTL-Shop 2
Kann ich mit dieser SQL Version die neue WaWi 1.11.1 installieren? JTL-Wawi 1.11 2
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

Ähnliche Themen