Hallo zusammen,
ich möchte eine Tabelle erstellen die Kombinationsmöglichkeiten aus einer bestimmten Menge an Artikeln hat. Ich versuch das mal an einem Beispiel zu erklären:
Es gibt 12.000 Artikel, pro Auftrag werden im Durchschnitt 4 verschiedene Artikel gemeinsam gekauft. Jetzt möchte ich eine Tabelle erstellen in der die unterschiedlichen Artikelkombination jeweils eine Möglichkeit darstellen
Auftrag-Nr Artikel-Nr
1 a
1 b
1 c
1 d
2 a
2 b
2 f
3 a
3 c
3 d
3 f
4 a
4 b
Diese Auftragsübersicht soll in eine Artikel Kombiübersicht umgeformt werden.
Auftrags-Nr Artikel 1 Artikel 2 Artikel 3 Artikel 4
1 a b c d
2 a b f
3 a c d f
4 a b
Also kurz die Spalteninhalte in Zeilen inhalte
Vielen Dank für jegliche Hilfe
Hallo,
mit einer Kreuztabellenabfrage kannst du so etwas darstellen:
TRANSFORM Count(DeineTabelle.Artikel_NR) AS Anzahl
SELECT Auftrags_Nr
FROM DeineTabelle
GROUP BY Auftrags_Nr
PIVOT Artikel_NR
Gruß Oma
Hallo Oma,
ich habe das
TRANSFORM Count[T_Orderlines]
SELECT [Order ID]
FROM [T_Orderlines]
GROUP BY [Order ID]
PIVOT [Product ID]
jetzt mal in die SQL-Ansichtsform bei der Abfrageerstellung reingeschrieben. da fehlt aber noch die "AS Anzahl" was ist das? Die Anzahl der Datensätze in der Tabelle T-Orderlines?
Gruß Max
Hallo Max,
dann laß es eben weg; das ist nur die Bezeichnung des berechneten Feldes
Gruß Oma
Hallo Oma,
ich habe jetzt mal den einen Teil weggelassen, aber es funktioniert immer noch nicht.
Ich habe noch nie eine Abfrage im SQL erstellt
SELECT
TRANSFORM Count[T_Orderlines] ,
SELECT [Order ID],
FROM [T_Orderlines],
GROUP BY [Order ID],
FROM PIVOT [Product ID]
So sieht die Abfrage bei mir im Moment aus, funktioniert aber nicht, irgendein Syntaxfehler (fehlender Operator) im Abfrageausdruck TRANSFORM Count[T_Orderlines] fehlt ???
Gruß Max
Hallo Max,
kann jetzt keinen Fehler erkennen; kopiere mal folgenden Code in deine Abfrage
TRANSFORM Count(T_Orderlines.[Product ID]) AS A
SELECT T_Orderlines.[Order ID]
FROM T_Orderlines
GROUP BY T_Orderlines.[Order ID]
PIVOT T_Orderlines.[Product ID]
dann muss das gehen!
Die Feldnamen solltest du zukünftig nicht mit Leerzeichen (oder andere Sonderzeichen) benennen; statt Order ID besser Order_ID oder OrderID
Gruß Oma
Hallo,
irgendein Syntaxfehler ...
TRANSFORM Count[T_Orderlines] , :o
;)
Hallo,
no, Code ist getestet u. aus DB kopiert
anbei Beispiel in Anlage
Gruß Oma
[Anhang gelöscht durch Administrator]
Hi,
@oma
Der Beistrrich ist beim Fragesteller ZUVIEL - sieh #4, deine SQL passt!
Ging um die Beantwortung zu "... irgendein Syntaxfehler ... "
Hallo,
@peter: ja, jetzt sehe ich das erst, habe bei der Code-Menge (5 Zeilen) das doch glatt übersehen ;)
Gruß Oma