Seite 1 von 1

Tabelle nach Kategorien "aufdröseln"

Verfasst: Mo 26. Jun 2017, 11:03
von ValHaris
Hallo,

ich habe folgendes Problem
Ausgangssituation:
MySQL-Datenbank auf einem WindowsServer 2012R2.
Als Frontend Base auf einem Windows 7 (später evtl. noch Mint und/oder SUSE).

Die Tabelle sieht folgendermaßen aus:

Betrag | Kategorie | Datum
---------------------------------
565,00 | AAA | 150117
11,00 | BBB | 020217
33,00 | AAA | 030217
55,00 | AAA | 150317
111,00 | BBB | 040417


nun benötige ich die Daten folgendermaßen:

Datum | AAA | BBB
-------------------------------
150117 | 565,00 |
020217 | _____ | 11,00
030217 | 33,00 |
150317 | 55,00 |
040417 | _____ | 111,00
*die Unterstriche dienen nur der Darstellung (leere Zellen), da immer nur ein Leerzeichen angezeigt wird.

Wenn ich das ganze über SELECT's auslese bekomme ich so etwas raus:
--> egal, ob ich alles in einem SELECT oder in mehreren SELECT's mit UNION unterbringe.

Datum | AAA
--------------------
150117 | 565,00
020217 | 11,00
030217 | 33,00
150317 | 55,00
040417 | 111,00

oder

Datum | AAA | BBB
-------------------------------
150117 | 565,00 | 565,00
020217 | 11,00 | 11,00
030217 | 33,00 | 33,00
150317 | 55,00 | 55,00
040417 | 111,00 | 111,00


Dazu sei gesagt, dass ich keine Makro's verwenden darf.
Die Lösung kann in MySQL oder in Base realisiert werden (egal).
Die Tabelle ist wesentlich größer - ich habe es einmal auf das Minimum runtergebrochen.

Re: Tabelle nach Kategorien "aufdröseln"

Verfasst: Mo 26. Jun 2017, 19:41
von RobertG
Hallo ValHaris,

Versuche das vielleicht einmal so:

Code: Alles auswählen

SELECT "Datum", "Betrag" AS "AAA", NULL AS "BBB" FROM "Tabelle" WHERE "Kategorie" = 'AAA'
UNION
SELECT "Datum", NULL AS "AAA", "Betrag" AS "BBB" FROM "Tabelle" WHERE "Kategorie" = 'BBB'
Du musst natürlich den Tabellennamen und auch die Art der Maskierung (kann sein, dass Deine MySQL-Verbindung nicht mit doppelten Anführungszeichen oben arbeitet) anpassen.

Ich hoffe, dass das Prinzip Dir klar wird: Zwei Abfragen, in jeder wird das andere Feld NULL gesetzt, das eben leer bleiben soll. Die Sortierung wird bei UNION nach dem ersten Feld vorgenommen - da scheint mir bei Deinem Beispiel mit der Datumsformatierung eventuell ein Problem zu existieren. Hoffentlich handelt es sich dabei intern innerhalb von MySQL um ein Datum ...

Gruß

Robert

Re: Tabelle nach Kategorien "aufdröseln"

Verfasst: Di 27. Jun 2017, 09:17
von ValHaris
Hallo Robert,

genau das war es (die geNULL'te Spalte).
danke dir

post scriptum:
Das Datumsformat ist ein internes Format von uns. (frag lieber nicht^^)