89371
Goto Top

Bekommt man das in eine einzige MySQL Abfrage?

Kann man die Ergebnisse von mehreren MySQL Abfragen in einer Tabelle kombinieren, indem nur eine MySQL Abfrage erzeugt wird?

Ich habe eine MySQL Abfrage mit einem Filter (WHERE), die ich jedoch mit 3 verschiedenen Filtern abfragen und nebeneinander in einer Tabelle darstellen möchte.

SELECT
YEAR(spielzeit) AS Jahr,
MONTH(spielzeit) AS Monat,
SUM(gewinn) AS Summe
FROM my_archiv
WHERE kundennummer = '50'
GROUP BY YEAR(spielzeit), MONTH(spielzeit)
ORDER BY YEAR(spielzeit) DESC, MONTH(spielzeit) DESC

Das ergibt in den ersten zwei Spalten das Jahr und den Monat, in der dritten Spalte die Summe seines Gewinn in diesem Monat.

Das Ganze möchte ich mit meinen 3 Kunden kombinieren, sodass in der vierten Spalte der zweite Kunde und in der fünften Spalte der dritte Kunde mit seinem jeweiligen Monatsumsätzen zu sehen wäre. Bekommt man sowas in eine einzelne MySQL Abfrage hin?

Content-ID: 235592

Url: https://administrator.de/forum/bekommt-man-das-in-eine-einzige-mysql-abfrage-235592.html

Ausgedruckt am: 18.04.2025 um 22:04 Uhr

StefanLausL
StefanLausL 15.04.2014 um 14:14:21 Uhr
Goto Top
Hallo,

so in der Art (MSSQL kein MySQL) ?

CREATE TABLE #t(Id INT NOT NULL, Name NVARCHAR(4000) NOT NULL)


INSERT INTO #t
(Id,Name)
SELECT 1, 'Test1'
UNION
SELECT 2, 'Test2'


SELECT
MAX(CASE Id WHEN 1 THEN Id ELSE NULL END) Id1
,MAX(CASE Id WHEN 1 THEN Name ELSE NULL END) Name1
,MAX(CASE Id WHEN 2 THEN Id ELSE NULL END) Id2
,MAX(CASE Id WHEN 2 THEN Name ELSE NULL END) Name2
FROM
#t
StefanLausL
StefanLausL 15.04.2014 aktualisiert um 14:22:33 Uhr
Goto Top
Für Dich ist natürlich nur der untere Teil interessant.
Du müsstest in Deiner Abfrage die 3 Kundennummern aufnehmen und danach gruppieren
Danach Selektion mit CASE (MSSQL)

Gruß

Stefan