Hallo Liebes Forum,
Bitte könnt Ihr mir helfen, ich stehe am Berg.
Ich möchte meine Applikation um ein Kassenbuch erweitern. Hierbei geht es aber nicht um buchhalterische Probleme.
Vielmehr geht es nun für mich ums Verständnis.
Ich arbeite dabei mit 5 Tabellen;
Tabelle1 bh_konten
SELECT
bh_konten.id,
bh_konten.kunden_id,
bh_konten.konto_nummer,
bh_konten.beschreibung,
bh_konten.bh_kategorien_vorlagen_id Fremdschlüssel
FROM
bh_konten
Tabelle2 bh_kategorien_vorlagen
SELECT
bh_kategorien_vorlagen.id,
bh_kategorien_vorlagen.kategorien_vorlagen_bezeichnung
FROM
bh_kategorien_vorlagen
Tabelle3 bh_kategorien
SELECT
bh_kategorien.id,
bh_kategorien.bh_kategorien_vorlagen_id, Fremdschlüssel
bh_kategorien.bh_buchungsart_id, Fremdschlüssel
bh_kategorien.kategorien_nr,
bh_kategorien.kategorien_bezeichnung
FROM
bh_kategorien
Tabelle4 bh_buchungsart
SELECT
bh_buchungsart.id,
bh_buchungsart.buchungsart
FROM
bh_buchungsart
Tabelle5 bh_buchungen
SELECT
bh_buchungen.id,
bh_buchungen.bh_konten_id, Fremdschlüssel
bh_buchungen.bh_kategorien_id, Fremdschlüssel
bh_buchungen.datum,
bh_buchungen.buchungen_text,
bh_buchungen.betrag,
bh_buchungen.valutadatum,
bh_buchungen.off-belastungen,
bh_buchungen.off-gutschriften,
bh_buchungen.off-buchungsart,
bh_buchungen.off-bh_mandate_id
FROM
bh_buchungen
Nun möchte ich direkt über das konto, buchungen vornehmen.
Bis zur Auswahl der Kategorien läuft es auch, aber hier zeigt er mir
immer alle Kategorien aus allen Vorlagen.
Ich habe schon so viele Varianten versucht, dass ich möglicherweise komplett vom Weg abgekommen bin.
Hier mal der letzte Versuch
BH_Konten
SELECT
bh_konten.id,
bh_konten.fahrschule_id,
bh_konten.konto_nummer,
bh_konten.beschreibung,
bh_konten.bh_kategorien_vorlagen_id,
BH_Kategorien_ID
FROM
bh_konten
LEFT JOIN (
SELECT bh_katd.id AS BH_Kategorien_ID,
bh_katd.bh_kategorien_vorlagen_id
FROM bh_kategorien AS bh_katd
) AS bh_kat
ON bh_kat.bh_kategorien_vorlagen_id = bh_konten.bh_kategorien_vorlagen_id
GROUP BY bh_konten.id
BH_Kategorien_Vorlagen wie oben
BH_Kategorien
SELECT
bh_kategorien.id,
bh_kategorien.bh_kategorien_vorlagen_id,
bh_kategorien_vorlagen.kategorien_vorlagen_bezeichnung,
bh_kategorien.bh_buchungsart_id,
bh_kategorien.kategorien_nr,
bh_kategorien.kategorien_bezeichnung
FROM
bh_kategorien
INNER JOIN bh_kategorien_vorlagen ON (bh_kategorien.bh_kategorien_vorlagen_id = bh_kategorien_vorlagen.id)
BH_Buchungsart wie oben
BH_Buchungen
SELECT
bh_buchungen.id,
bh_buchungen.bh_konten_id,
BH_Kategorien_BH_Kategorien_Vorlagen_ID,
bh_buchungen.bh_kategorien_id,
bh_buchungen.datum,
bh_buchungen.buchungen_text,
bh_buchungen.betrag,
bh_buchungen.valutadatum
FROM
bh_buchungen
LEFT JOIN (
SELECT bh_kontd.id,
bh_kontd.bh_kategorien_vorlagen_id AS BH_Konten_BH_Kategorien_Vorlagen_ID
FROM bh_konten AS bh_kontd
) AS bh_kont
ON bh_buchungen.bh_konten_id = bh_kont.id
LEFT JOIN (
SELECT bh_katd.id,
bh_katd.bh_kategorien_vorlagen_id AS BH_Kategorien_BH_Kategorien_Vorlagen_ID
FROM bh_kategorien AS bh_katd
) AS bh_kat
ON bh_kat.id = bh_buchungen.bh_kategorien_id
WHERE BH_Konten_BH_Kategorien_Vorlagen_ID = BH_Kategorien_BH_Kategorien_Vorlagen_ID
Am ende soll er bei der Auswahl der Kategorien nur die Kategorien aus der Kategorien_Vorlage nehmen, die im Konto angegeben ist. Diese aber vorher nochmals durch die bh_buchungsart gefiltert
Bitte könnt Ihr mir helfen, ich stehe am Berg.
Ich möchte meine Applikation um ein Kassenbuch erweitern. Hierbei geht es aber nicht um buchhalterische Probleme.
Vielmehr geht es nun für mich ums Verständnis.
Ich arbeite dabei mit 5 Tabellen;
Tabelle1 bh_konten
SELECT
bh_konten.id,
bh_konten.kunden_id,
bh_konten.konto_nummer,
bh_konten.beschreibung,
bh_konten.bh_kategorien_vorlagen_id Fremdschlüssel
FROM
bh_konten
Tabelle2 bh_kategorien_vorlagen
SELECT
bh_kategorien_vorlagen.id,
bh_kategorien_vorlagen.kategorien_vorlagen_bezeichnung
FROM
bh_kategorien_vorlagen
Tabelle3 bh_kategorien
SELECT
bh_kategorien.id,
bh_kategorien.bh_kategorien_vorlagen_id, Fremdschlüssel
bh_kategorien.bh_buchungsart_id, Fremdschlüssel
bh_kategorien.kategorien_nr,
bh_kategorien.kategorien_bezeichnung
FROM
bh_kategorien
Tabelle4 bh_buchungsart
SELECT
bh_buchungsart.id,
bh_buchungsart.buchungsart
FROM
bh_buchungsart
Tabelle5 bh_buchungen
SELECT
bh_buchungen.id,
bh_buchungen.bh_konten_id, Fremdschlüssel
bh_buchungen.bh_kategorien_id, Fremdschlüssel
bh_buchungen.datum,
bh_buchungen.buchungen_text,
bh_buchungen.betrag,
bh_buchungen.valutadatum,
bh_buchungen.off-belastungen,
bh_buchungen.off-gutschriften,
bh_buchungen.off-buchungsart,
bh_buchungen.off-bh_mandate_id
FROM
bh_buchungen
Nun möchte ich direkt über das konto, buchungen vornehmen.
Bis zur Auswahl der Kategorien läuft es auch, aber hier zeigt er mir
immer alle Kategorien aus allen Vorlagen.
Ich habe schon so viele Varianten versucht, dass ich möglicherweise komplett vom Weg abgekommen bin.
Hier mal der letzte Versuch
BH_Konten
SELECT
bh_konten.id,
bh_konten.fahrschule_id,
bh_konten.konto_nummer,
bh_konten.beschreibung,
bh_konten.bh_kategorien_vorlagen_id,
BH_Kategorien_ID
FROM
bh_konten
LEFT JOIN (
SELECT bh_katd.id AS BH_Kategorien_ID,
bh_katd.bh_kategorien_vorlagen_id
FROM bh_kategorien AS bh_katd
) AS bh_kat
ON bh_kat.bh_kategorien_vorlagen_id = bh_konten.bh_kategorien_vorlagen_id
GROUP BY bh_konten.id
BH_Kategorien_Vorlagen wie oben
BH_Kategorien
SELECT
bh_kategorien.id,
bh_kategorien.bh_kategorien_vorlagen_id,
bh_kategorien_vorlagen.kategorien_vorlagen_bezeichnung,
bh_kategorien.bh_buchungsart_id,
bh_kategorien.kategorien_nr,
bh_kategorien.kategorien_bezeichnung
FROM
bh_kategorien
INNER JOIN bh_kategorien_vorlagen ON (bh_kategorien.bh_kategorien_vorlagen_id = bh_kategorien_vorlagen.id)
BH_Buchungsart wie oben
BH_Buchungen
SELECT
bh_buchungen.id,
bh_buchungen.bh_konten_id,
BH_Kategorien_BH_Kategorien_Vorlagen_ID,
bh_buchungen.bh_kategorien_id,
bh_buchungen.datum,
bh_buchungen.buchungen_text,
bh_buchungen.betrag,
bh_buchungen.valutadatum
FROM
bh_buchungen
LEFT JOIN (
SELECT bh_kontd.id,
bh_kontd.bh_kategorien_vorlagen_id AS BH_Konten_BH_Kategorien_Vorlagen_ID
FROM bh_konten AS bh_kontd
) AS bh_kont
ON bh_buchungen.bh_konten_id = bh_kont.id
LEFT JOIN (
SELECT bh_katd.id,
bh_katd.bh_kategorien_vorlagen_id AS BH_Kategorien_BH_Kategorien_Vorlagen_ID
FROM bh_kategorien AS bh_katd
) AS bh_kat
ON bh_kat.id = bh_buchungen.bh_kategorien_id
WHERE BH_Konten_BH_Kategorien_Vorlagen_ID = BH_Kategorien_BH_Kategorien_Vorlagen_ID
Am ende soll er bei der Auswahl der Kategorien nur die Kategorien aus der Kategorien_Vorlage nehmen, die im Konto angegeben ist. Diese aber vorher nochmals durch die bh_buchungsart gefiltert