MS SQL Abfrage (Office)

user17, Donnerstag, 15.11.2018, 17:49 (vor 243 Tagen)

Moin Leute, weiss nicht ob ich hier richtig bin aber vielleicht habt Ihr ja eine Ahnung.

dies ist meine SQL Abfrage.

DIe anführende Tabelle ist 009101 wo alle Kontonummern "Konto" enthalten sind.
Sobald ich diese Abfrage jedoch durchführe, werden die Zeilen nicht ausgegeben, wo im Jahr 2017 oder 2018 kein Wert enthalten ist,
quasi es werden nur die Zellen ausgegeben, wo 2017 und 2018 auch ein Wert enthalten ist.
Mit Union würde es gehen, nur ich möchte zwecks Gegenüberstellung gerne Union vermeiden.

Aussehen soll es so: (hier würde die Abfrage bei 0600 Benzin kein Spalte ausgeben)

Konto Bezeichnung Kostenstelle Jahr SOLL HABEN Kostenstelle Jahr SOLL HABEN
0815 Oel 856 2017 500 100 856 2018 300
0600 Benzin 856 2017 0 0 856 2018 100 20


Leider ist die Darstellung etwas unglücklich

SELECT
erpystem.dbo.ttckoa009101.t_Konto,
erpystem.dbo.ttckoa009101.t_Kontobezeichnung,
erpystem.dbo.ttckoa202100.t_Jahr,
erpystem.dbo.ttckoa202100.t_kostenstelle1,
Sum(DISTINCT erpystem.dbo.ttckoa202100.t_SOLL_1) AS Sum_t_SOLL_1,
Sum(DISTINCT erpystem.dbo.ttckoa202100.t_HABEN_1) AS Sum_t_HABEN_1,
ttckoa2021001.t_Jahr AS t_Jahr1,
ttckoa2021001.t_kostenstelle1 AS t_kostenstelle11,
Sum(DISTINCT ttckoa2021001.t_SOLL_1) AS Sum_t_SOLL_11,
Sum(DISTINCT ttckoa2021001.t_HABEN_1) AS Sum_t_HABEN_11,
ttckoa2021001.t_Konto AS t_Konto1
FROM
erpystem.dbo.ttckoa009101
LEFT JOIN erpystem.dbo.ttckoa202100 ON erpystem.dbo.ttckoa202100.t_Konto = erpystem.dbo.ttckoa009101.t_Konto
LEFT JOIN erpystem.dbo.ttckoa202100 ttckoa2021001 ON ttckoa2021001.t_Konto = erpystem.dbo.ttckoa009101.t_Konto
WHERE
erpystem.dbo.ttckoa202100.t_Jahr = 2018 AND
erpystem.dbo.ttckoa202100.t_kostenstelle1 = '856' AND
ttckoa2021001.t_Jahr = 2017 AND
ttckoa2021001.t_kostenstelle1 = '856'
GROUP BY
erpystem.dbo.ttckoa009101.t_Konto,
erpystem.dbo.ttckoa009101.t_Kontobezeichnung,
erpystem.dbo.ttckoa202100.t_Jahr,
erpystem.dbo.ttckoa202100.t_kostenstelle1,
ttckoa2021001.t_Jahr,
ttckoa2021001.t_kostenstelle1,
ttckoa2021001.t_Konto


Vielleicht ist hier ja ein Fachmann unterwegs:)


DANKE!!!!!

Grüße,
Mika

MS SQL Abfrage

Martin Asal @, Donnerstag, 15.11.2018, 21:57 (vor 243 Tagen) @ user17

Sorry, es ist etwas schwierig, dir inhaltlich zu folgen. Vielleicht hilft dir der folgende Ansatz:

... WHERE
(erpystem.dbo.ttckoa202100.t_Jahr = 2018 OR IsNull(erpystem.dbo.ttckoa202100.t_Jahr))
AND ...

... und für 2017 natürlich dasselbe

Martin

RSS-Feed dieser Diskussion
powered by my little forum