AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [SQL] Wie kann ich eine Kreuztabelle erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] Wie kann ich eine Kreuztabelle erstellen

Ein Thema von BlueStarHH · begonnen am 4. Jul 2007 · letzter Beitrag vom 4. Jul 2007
Antwort Antwort
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#1

[SQL] Wie kann ich eine Kreuztabelle erstellen

  Alt 4. Jul 2007, 13:28
Datenbank: Firebird • Version: 1.5 • Zugriff über: IBX: TIBQuery
Hallo,

ich habe mehrere Tabellen aus denen ich die Umsätze je Artikelgruppe und Monat abfragen möchte. Es soll also quasi ein Art Kreutzabelle zurückgegeben werden:

SQL-Code:
Monat Jahr Büromöbel Gartenmöbel Küchenmöbel
5 2006 500,00 700,00 500,00
2 2007 800,00 600,00 600,00
3 2007 100,00 300,00 980,00


Ich habe folgende Tabellen mit folgenden Feldern. In Klammern die Erklärung und ein Beispielwert:

Rechnung (Enthält Rechnungen)
-------
RgNr (Rechnungsnr: 124)
Datum (Datum, an dem die Rechnung ausgestellt wurde: 01.01.2007)

RechnungPos (Enthält die Positionen der Rechnungen)
----------
RgNr (Rechnungsnr, zu der diese Position gehört (aus Tabelle Rechnung): 124)
ArtikelNr (Artieklnummer: D-543)
Artikel (Name des Artikels: Gartenbank)
Brutto (Bruttopreis des Artikels: 149,90)

ArtikelGruppe
-------------
AgNr (Artikelgruppennummer: 7)
Name (Beschreibender Name der Artikelgruppe: Gartenmöbel)

ArtikelGruppeVK (Gibt an, welche Artikelnummern sich in einer Artikelgruppe befinden)
---------------
AgNr (Artikelgruppennummer: 7)
ArtikelNr (Artikelnummer, die zu dieser Artikelgruppe gehört: D-543)
Ich hab zwar schon einge Abfragen mit SQL gemacht, aber diese Kreuztabelle überforder mich leider etwas. Vielen Dank für eure Hilfe im Voraus!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: [SQL] Wie kann ich

  Alt 4. Jul 2007, 13:30
Gibt es genau diese Artikelgruppen oder beliebig viele?
Markus Kinzler
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: [SQL] Wie kann ich

  Alt 4. Jul 2007, 13:37
Zitat von mkinzler:
Gibt es genau diese Artikelgruppen oder beliebig viele?
Beliebig viele sind möglich, da die Artikelgruppen ja selbst über zwei Tabellen (ArtikelGruppe/ArtikelGruppeVK) definiert werden können.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: [SQL] Wie kann ich eine Kreuztabelle erstellen

  Alt 4. Jul 2007, 13:43
Dann wirst du es so nicht hinbekommen. Man könnte die Tabelle vertikal durch Gruppieren erzeugen und dann in der Darstellung drehen.
Markus Kinzler
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: [SQL] Wie kann ich eine Kreuztabelle erstellen

  Alt 4. Jul 2007, 13:55
Wie kann ich denn die Tabelle vertikal durch Gruppieren erzeugen? Drehen ist nicht unbedingt nötig. Zweite Frage: Wenn es unbegrenzt viele Artiklegruppen geben könnte ich aber nicht alle sondern nur bestimmte Artikelgruppen auswerten möchte, wäre die Auswertung dann möglich? Wenn ja wie?
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.891 Beiträge
 
Delphi 12 Athens
 
#6

Re: [SQL] Wie kann ich eine Kreuztabelle erstellen

  Alt 4. Jul 2007, 14:08
Für solche Auswertungen bieten sich OLAP Cubes an.
Die kannst Du Dir z.B. im IBExpert angucken.

Gruß

Thomas
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: [SQL] Wie kann ich eine Kreuztabelle erstellen

  Alt 4. Jul 2007, 17:56
Kannst du mal ne Testdb posten?
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: [SQL] Wie kann ich eine Kreuztabelle erstellen

  Alt 4. Jul 2007, 21:33
Hallo,

hier ist ein schöner Artikel für MSSQL 2005 zum Thema Kreuztabelle:

Cross-Tab Reports in SQL Server 2005

Da lässt sich bestimmt etwas Nektar saugen ...

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#9

Re: [SQL] Wie kann ich eine Kreuztabelle erstellen

  Alt 4. Jul 2007, 21:44
Ich hätte da auch noch was in Deutsch anzubieten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz