Neu Variationen auflisten

farina

Gut bekanntes Mitglied
4. Januar 2013
124
15
Hallo.

Habe jetzt mal eine Abfrage gebastelt, obwohl ich wenig bis keine Ahnung von SQL habe.
Also etwas woanders abgekupfert und modifiziert.

Code:
SELECT  'Variation' AS Typ,
   tEigenschaftSprache.cName AS 'Name'
FROM tArtikel
JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN tEigenschaft ON tEigenschaft.kArtikel = tArtikel.kArtikel
JOIN tEigenschaftSprache ON tEigenschaftSprache.kEigenschaft = tEigenschaft.kEigenschaft
   AND tEigenschaftSprache.kSprache = tSpracheUsed.kSprache
WHERE tArtikel.kArtikel = @Key
ORDER BY Typ, 'Name'

Das zeigt mir jetzt mal die Variationsnamen an.
Nun fehlen in der Anzeige noch die Werte hintereinander.
Damit bin ich endgültig überfordert.
Kann jemand helfen?
 
Zuletzt bearbeitet:

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
85
Hallo,

du warst schon fast richtig. Die Werte stehen in tEigenschaftWertSprache .
SQL:
SELECT  'Variation' AS Typ,
   tEigenschaftSprache.cName AS 'Name',
   tEigenschaftWertSprache.cName AS 'Variationswert'
FROM tArtikel
JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN tEigenschaft ON tEigenschaft.kArtikel = tArtikel.kArtikel
JOIN tEigenschaftSprache ON tEigenschaftSprache.kEigenschaft = tEigenschaft.kEigenschaft
   AND tEigenschaftSprache.kSprache = tSpracheUsed.kSprache
JOIN dbo.teigenschaftwert ON dbo.teigenschaftwert.kEigenschaft = teigenschaft.kEigenschaft
JOIN dbo.tEigenschaftWertSprache ON dbo.tEigenschaftWertSprache.kEigenschaftWert = dbo.teigenschaftwert.kEigenschaftWert
    AND tEigenschaftWertSprache.kSprache = tSpracheUsed.kSprache
WHERE tArtikel.kArtikel = @Key
ORDER BY Typ, 'Name'
 

farina

Gut bekanntes Mitglied
4. Januar 2013
124
15
Hi Philipp, vielen Dank.
Mir fehlten da zwei Bezüge, die ich nicht erkannte.
Nun werden die Variationen aber alle einzeln untereinander dargestellt. Das wird manchmal eine sehr lange Liste.
Kann man das so machen, dass alle Werte hintereinander, kommagetrennt in einer Zeile gelistet werden?
 
Zuletzt bearbeitet:

KevinK

Mitglied
1. April 2016
1.549
121
Hallo @retailmind,

versuche es mal hiermit (Achtung ungetestet!):

Code:
SELECT  'Variation' AS Typ,
   tEigenschaftSprache.cName AS 'Name',
   tEigenschaftWertSprache.cName AS 'Variationswert',
   tWarenLager.cName AS 'Warenlager',
   tlagerbestandProLagerLagerartikel.fBestand AS 'Bestand'
FROM tArtikel
JOIN dbo.tlagerbestandProLagerLagerartikel ON dbo.tlagerbestandProLagerLagerartikel.kArtikel = dbo.tArtikel.kArtikel
JOIN dbo.twarenlager ON dbo.twarenlager.kWarenLager = tlagerbestandProLagerLagerartikel.kWarenlager
JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN tEigenschaft ON tEigenschaft.kArtikel = tArtikel.kArtikel
JOIN tEigenschaftSprache ON tEigenschaftSprache.kEigenschaft = tEigenschaft.kEigenschaft
   AND tEigenschaftSprache.kSprache = tSpracheUsed.kSprache
JOIN dbo.teigenschaftwert ON dbo.teigenschaftwert.kEigenschaft = teigenschaft.kEigenschaft
JOIN dbo.tEigenschaftWertSprache ON dbo.tEigenschaftWertSprache.kEigenschaftWert = dbo.teigenschaftwert.kEigenschaftWert
    AND tEigenschaftWertSprache.kSprache = tSpracheUsed.kSprache
WHERE tArtikel.kArtikel = @Key
ORDER BY Typ, 'Name'
 

retailmind

Aktives Mitglied
9. März 2019
20
4
Hallo Kevin, vielen Dank für den Ansatz! Wird aktuell noch "null" angezeigt. Ich fuchse mich da jetzt auch mal selber rein, ist ja machbar:)
 

NETZdinge.de

Sehr aktives Mitglied
7. April 2010
2.285
339
Hallo,

du warst schon fast richtig. Die Werte stehen in tEigenschaftWertSprache .
SQL:
SELECT  'Variation' AS Typ,
   tEigenschaftSprache.cName AS 'Name',
   tEigenschaftWertSprache.cName AS 'Variationswert'
FROM tArtikel
JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN tEigenschaft ON tEigenschaft.kArtikel = tArtikel.kArtikel
JOIN tEigenschaftSprache ON tEigenschaftSprache.kEigenschaft = tEigenschaft.kEigenschaft
   AND tEigenschaftSprache.kSprache = tSpracheUsed.kSprache
JOIN dbo.teigenschaftwert ON dbo.teigenschaftwert.kEigenschaft = teigenschaft.kEigenschaft
JOIN dbo.tEigenschaftWertSprache ON dbo.tEigenschaftWertSprache.kEigenschaftWert = dbo.teigenschaftwert.kEigenschaftWert
    AND tEigenschaftWertSprache.kSprache = tSpracheUsed.kSprache
WHERE tArtikel.kArtikel = @Key
ORDER BY Typ, 'Name'

Code:
SELECT  'Variation' AS Typ,
   tEigenschaftSprache.cName AS 'Name',
   tEigenschaftWertSprache.cName AS 'Variationswert',
   Cast(ROUND(dbo.teigenschaftwert.fAufpreisNetto,2) as decimal(18,2)) AS 'Aufpreis (netto)'
FROM tArtikel
JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN tEigenschaft ON tEigenschaft.kArtikel = tArtikel.kArtikel
JOIN tEigenschaftSprache ON tEigenschaftSprache.kEigenschaft = tEigenschaft.kEigenschaft
   AND tEigenschaftSprache.kSprache = tSpracheUsed.kSprache
JOIN dbo.teigenschaftwert ON dbo.teigenschaftwert.kEigenschaft = teigenschaft.kEigenschaft
JOIN dbo.tEigenschaftWertSprache ON dbo.tEigenschaftWertSprache.kEigenschaftWert = dbo.teigenschaftwert.kEigenschaftWert
    AND tEigenschaftWertSprache.kSprache = tSpracheUsed.kSprache
WHERE tArtikel.kArtikel = @Key
ORDER BY Typ, 'Name'

falls noch einer den Aufpreis haben möchte... (fAufpreis, wenn es brutto sein soll)