Hallo zusammen,
ich habe hier ne "blöde" Aufgabe...
Und zwar habe ich eine Datenbank, welche mehrere "Mandanten" beherbergt, und ich soll mittels Abfrage einen Gesamtbestand von Artikeln rausfinden...
Bisher habe ich es mit Einzelabfragen gemacht, und dann am Ende in meinem .NET Programm mittels LINQ und GROUP die Summen gebildet... gefällt mir aber nicht. Das muss auch irgendwie rein per SQL gehen...
M01 Tabellen, Mandant 1, M02 Tabellen entsprechend Mandant 2.
Die Werte von Mandant 1 sind führen, sprich, auch wenn in den Tabellen von Mandant 2 etwas drin steht, ist es nicht ausschlaggebend, was Bezeichnung, EK und VK usw angeht.
Hier die Tabellen von Mandant 1 und 2. strukturtechnisch sind die Tabellen komplett identisch
Die "Ergebnisse" M01_JOIN und M02_JOIN habe ich dann später mittels LINQ zusammengefügt, udn dort kann ich dann über GROUP, "FIRST" Werte nehmen, und eben bei den "Beständen" Summen bilden, fertig.
Bei den JOIN-Ansichten, habe ich die Zeile, die dann aus dem SQL String rausfällt durchgestrichen, damit man es optisch sieht.
Ich habe dann schon einmal mit einem "UNION" gespielt...
Da kommt dann das hier raus:
Jetzt möchte ich aber, dass es wie folgt ist:
Vielleicht kann mir da ja jemand behiflich sein...
Bei fragen, gerne melden.
Hilfe bei SQL String
-
AcidRain -
21. Februar 2024 um 10:15 -
Unerledigt
-
-
Hi,
hab mal die MariaDB gefüttert... ( Ich hab mal den UNION für Tabelle A3 weggelassen. Muss man sehen ob es Daten gibt die es nur für Mandant 2 gibt)
Das kam heraus
SELECT SUB.LANR,MAX(EK),Gruppe,SUM(Ges_Bes),SUM(Verf_bes) , Bez1,Bez2,Lieferst,MA01A2.Manr, POS,VK,Rabatt,Saison
FROM
(SELECT LANR,EK,Gruppe,Ges_Bes,Verf_bes from MA01A1
UNION ALL
SELECT LANR,0, Gruppe,Ges_Bes,verf_bes FROM MA02A1) AS SUB,
MA01A2,
MA01A3
WHERE SUB.LANR NOT LIKE 'S%'
AND SUB.LANR= MA01A2.LANR
AND MA01A2.Manr = MA01A3.Manr
GROUP BY lanrWobei die Struktur der Tabellen schon eher nicht ganz glücklich ist...
Alte Weisheit. "Wenns mit SQL nicht geht, ist das Tabellendesign unglücklich"
Liebe Grüße
Alex
-
-
LANR MAX(EK) Gruppe SUM(Ges_Bes) SUM(Verf_bes) Bez1 Bez2 Lieferst Manr POS VK Rabatt Saison 123-1 10,320000 GRP1 9 6 Hose Schwarz 20 x123-1 A 23,500000 1 2023 133-5 45,730000 GRP2 6 3 Hemd Weiß 20 x133-5 A 76,400000 0 2023 353-8 23,100000 GRP1 18 12 Socken kurz 20 x353-8 C 68,900000 1 2024 M654-9 65,700000 GRP1 24 15 Gürtel Leder 40 xM654-9 C 126,700000 1 2024 generated 2024-03-06 14:53:13 by HeidiSQL 12.6.0.6765
-
Ja, die Struktur der Tabellen ist wirklich... naaajaaaa
Auch der ganze Aufbau ist, 1980 entstanden vom Gefühl her...
Es sind dBase Dateien / Datenbanken... seufz
(dbf mit cdx und ini Dateien )
Im Endeffekt war mein "Union" nicht ganz soweit daneben, hätte den dann nur "abspecken" müssen und nur auf die relevanten Daten nehmen sollen, und die Joins dann nach dem Union, so wie du!
Vielen Dank!
Ich werd's nächste Woche mal probieren, komme die diese Woche leider nicht dazu. -
-
Hi, freut mich wenn es passt !
dBase .....da fühle ich mch ja wieder jung
Wenn du noch was brauchst, melde dich einfach
Liebe Grüße
Alex
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!