Hallo zusammen,
ich versuche mich bereits den ganzen Tag an einem Select, den ich nicht so wirklich auf die Reihe kriege.
Habe die folgenden zwei Tabellen:
BUCHUNGEN
****************
Field | Type
-------------+---------------------
ID | int(11)
BUCHTAG | date
BUCHZEIT | time
SOLL | smallint(5) unsigned
HABEN | smallint(5) unsigned
BETRAG | float(7,2)
KTO_PLAN
*************
Field | Type
---------+---------------------
KTONR | smallint(5) unsigned
LABEL | varchar(30)
AKTIV | tinyint(1)
KATID | tinyint(3) unsigned
BUCHUNGEN.SOLL und BUCHUNGEN.HABEN sind Fremdschlüssel von KTO_PLAN.KTONR.
Statt der folgenden Ausgabe:
(SELECT SOLL, HABEN, BETRAG FROM BUCHUNGEN; )
SOLL | HABEN | BETRAG
------+-----------+-------
1000 | 1003 | 77.90
1005 | 1003 | 20.00
möchte ich die Kontenbezeichnungen (statt der Nummern) ausgeben:
(SELECT KTS1.LABEL 'SOLL', KTO_PLAN.LABEL 'HABEN', BETRAG
FROM BUCHUNGEN, KTS1, KTO_PLAN
WHERE SOLL=KTS1.KTONR AND HABEN=KTO_PLAN.KTONR; )
SOLL | HABEN | BETRAG
-------------------------+---------+-----------
Einkauf: Lebensmittel | Bank | 77.90
Tanken | Bank | 20.00
Ich habe mir hier eine View (KTS1) zur Hilfe erstellt, die lediglich alle Kontonummern und ihre
Bezeichnungen aus KTO_PLAN selektiert, weil ein Join wie "WHERE SOLL=KTO_PLAN.KTONR AND HABEN=KTO_PLAN.KTONR",
nicht so einfach funktioniert und meine Sub-Select-Versuche auch alle zu falschen Ergebnissen führten.
Da mir das nicht wirklich so gefällt, frage ich mich (bzw. Euch), ob man nicht zwei Attribute der einen
Tabelle (SOLL und HABEN aus BUCHUNGEN), über ein Attribut der anderen Tabelle (KTONR aus KTO_PLAN) abbilden kann?
Ich danke Euch für's Reinschauen
Gruß
Kai
ich versuche mich bereits den ganzen Tag an einem Select, den ich nicht so wirklich auf die Reihe kriege.
Habe die folgenden zwei Tabellen:
BUCHUNGEN
****************
Field | Type
-------------+---------------------
ID | int(11)
BUCHTAG | date
BUCHZEIT | time
SOLL | smallint(5) unsigned
HABEN | smallint(5) unsigned
BETRAG | float(7,2)
KTO_PLAN
*************
Field | Type
---------+---------------------
KTONR | smallint(5) unsigned
LABEL | varchar(30)
AKTIV | tinyint(1)
KATID | tinyint(3) unsigned
BUCHUNGEN.SOLL und BUCHUNGEN.HABEN sind Fremdschlüssel von KTO_PLAN.KTONR.
Statt der folgenden Ausgabe:
(SELECT SOLL, HABEN, BETRAG FROM BUCHUNGEN; )
SOLL | HABEN | BETRAG
------+-----------+-------
1000 | 1003 | 77.90
1005 | 1003 | 20.00
möchte ich die Kontenbezeichnungen (statt der Nummern) ausgeben:
(SELECT KTS1.LABEL 'SOLL', KTO_PLAN.LABEL 'HABEN', BETRAG
FROM BUCHUNGEN, KTS1, KTO_PLAN
WHERE SOLL=KTS1.KTONR AND HABEN=KTO_PLAN.KTONR; )
SOLL | HABEN | BETRAG
-------------------------+---------+-----------
Einkauf: Lebensmittel | Bank | 77.90
Tanken | Bank | 20.00
Ich habe mir hier eine View (KTS1) zur Hilfe erstellt, die lediglich alle Kontonummern und ihre
Bezeichnungen aus KTO_PLAN selektiert, weil ein Join wie "WHERE SOLL=KTO_PLAN.KTONR AND HABEN=KTO_PLAN.KTONR",
nicht so einfach funktioniert und meine Sub-Select-Versuche auch alle zu falschen Ergebnissen führten.
Da mir das nicht wirklich so gefällt, frage ich mich (bzw. Euch), ob man nicht zwei Attribute der einen
Tabelle (SOLL und HABEN aus BUCHUNGEN), über ein Attribut der anderen Tabelle (KTONR aus KTO_PLAN) abbilden kann?
Ich danke Euch für's Reinschauen
Gruß
Kai