Daten aus einer Tabelle zählen

18. September 2007 11:54

Ich arbeite immer noch an meinem geliebten :roll: XML-Port und stehe mal wieder vor einem Problem. Das ist jetzt auch etwas kompliziert zu erklären. Ich hoffe ich bekomme das verständlich hin.

Wir haben 3 Tabellen

Item
Gruppen
Artikel_Gruppen

In der Tabelle Item sind die Artikelnummern hinterlegt. Die Tabelle Artikel_Gruppe ist sogesehen eine Verbindungstabelle zwischen Item und Gruppen. Die Tabelle Artikel_Gruppen beinhaltet nämlich die Artikelnummer und eine GruppenID. Die GruppenID ist der Primärschlüssel der Tabelle Gruppen. In der Tabelle Gruppen gibt es ein Feld Kataloge. In diesem Feld ist hinterlegt in welchem Katalog (Hund, Katze, Pferd etc.) der Artikel ist. Dieser Artikel kann auch in mehreren Katalogen vorhanden sein.

Jetzt würde ich gerne eine Abfrage erstellen die nachzählt in wievielen Katalogen der Artikel ist, und dann für jeden Katalog in der XML Datei einen Eintrag zu erstellen. Nur weiß ich leider nicht wie ich das bewerkstelligen soll.

Ich hatte mir das ungefähr so gedacht (Pseudocode)

Code:
 
Abfrage in wievielen Katalogen der Artikel ist
Ergebnis := n; // n = Integer

FOR 1 TO n DO
XML Daten schreiben;


Ist das so in der Art möglich?
Und wie könnte ich die Abfrage am einfachsten programmieren?

Über Lösungsvorschläge würde ich mich wie immer freuen. Danke :)

18. September 2007 13:15

wenn er in mehreren Katalogen enthalten ist, ist er dann auch in mehreren Gruppen. oder andersrum gefragt, ist jede Gruppe einem bestimmten Katalog zugeordnet, oder können mehrere Gruppen in einem Katalog sein.
Wenn für jede Gruppe genau ein Katalog existiert, kannst du einfach die Einträge des Artikels in Artikel_gruppen zählen. Wenn nicht, wirds komplizierter, dann musst du durch alle gruppen laufen und alle vorkommenden Kataloge in eine Temporäre Tabelle schreiben, wenn er noch nicht darin steht, dann kannst du die Einträge dieser temporären Tabelle zählen und diese Tabelle auch für den Export der Kataloge heranziehen.

18. September 2007 13:18

Leider kann der Artikel auch in mehreren Gruppen sein und somit sind auch die Gruppen in mehreren Katalogen. Sprich einmal für zum Beispiel Haut/Fell und einmal für Welpen und das dann in Katalog Katzen und in Katalog Hunde.

Leider hab ich bis jetzt noch nicht kennen gelernt wie man mit temporären Tabellen arbeitet. Ich hoffe das ich nicht all zu schwer.

18. September 2007 13:23

du nimmst einfach eine Tabelle, die die benötigten Felder enthält, erstellst dafür eine extra Recordvariable und weist dieser das Property temporary=yes zu