Muss ich die Summe aus einem Subselect bekommen?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Transmitter
**
Beiträge: 21
Registriert: Do, 11.01.2007 15:35

Muss ich die Summe aus einem Subselect bekommen?

Beitrag von Transmitter »

Hi,

ich habe folgende Anfrage:

Code: Alles auswählen

SELECT SUM( `Gesamt` ),  `Kundennummer`, `Statistik`.`Firma` AS `Firma`, MONTH( `LieferDatum` ) AS Monat  FROM `Statistik`
WHERE
     BestellNummer LIKE 10
  OR BestellNummer LIKE 11
  OR BestellNummer LIKE 100
 GROUP BY `Firma`,  MONTH( `LieferDatum` ),
					 Kundennummer, MONTH (LieferDatum)
 ORDER BY `Firma`,  MONTH( `LieferDatum` ),
					 Kundennummer, MONTH (LieferDatum)
1. Jetzt wüsste ich gerne noch die Summe, diese aber ohne die Where Klausel.
Wie viel Umsatz generiert die Firma pro Monat insgesamt.

2. Ich hätte gerne die Anzahl der Summe der Bestellungen mit den Kriterien aus der Where Klausel aber für die jeweilige Gruppe.
Also es gibt eine Firma, die bestellt pro Monat X mal mit passender Bestellnummer (10, 11, 100) . Dieses X würde ich gerne heraus finden.

Muss ich dazu eine Summe aus der Gruppe bilden oder wie könnte das klappen?

Danke schon mal.
Bye, Transmitter
...
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Muss ich die Summe aus einem Subselect bekommen?

Beitrag von Barlee »

Hallo Transmitter,
1. Jetzt wüsste ich gerne noch die Summe, diese aber ohne die Where Klausel.
Wie viel Umsatz generiert die Firma pro Monat insgesamt.
Probiere das mal in der Art.

Code: Alles auswählen

SELECT `Tab_A`.*, `Tab_B`.`Gesamt` FROM
(
SELECT 
SUM( `Gesamt` ) AS `Summe`,  
`Kundennummer`, 
`Statistik`.`Firma` AS `Firma`, 
MONTH( `LieferDatum` ) AS `Monat`  
FROM `Statistik`
WHERE BestellNummer IN (10,11,100)
GROUP BY `Firma`,  MONTH( `LieferDatum` ), Kundennummer, MONTH (LieferDatum)
ORDER BY `Firma`,  MONTH( `LieferDatum` ), Kundennummer, MONTH (LieferDatum)
) Tab_A,
(
SELECT 
SUM( `Gesamt` ) AS `Gesamt`,  
`Kundennummer`, 
`Statistik`.`Firma` AS `Firma`, 
MONTH( `LieferDatum` ) AS `Monat`  
FROM `Statistik`
GROUP BY `Firma`,  MONTH( `LieferDatum` ), Kundennummer, MONTH (LieferDatum)
ORDER BY `Firma`,  MONTH( `LieferDatum` ), Kundennummer, MONTH (LieferDatum)
) Tab_B

WHERE 
`Tab_A`.`Kundennummer` =  `Tab_B`.`Kundennummer`
`Tab_A`.`Firma` = `Tab_B`.`Firma`
`Tab_A`.`Monat`  = `Tab_B`.`Monat`
2. Ich hätte gerne die Anzahl der Summe der Bestellungen mit den Kriterien aus der Where Klausel aber für die jeweilige Gruppe.
Also es gibt eine Firma, die bestellt pro Monat X mal mit passender Bestellnummer (10, 11, 100) . Dieses X würde ich gerne heraus finden.
Da musst Du COUNT() bemühen

Code: Alles auswählen

SELECT 
COUNT( `Gesamt` ) AS `Anzahl`,  
`Kundennummer`, 
`Statistik`.`Firma` AS `Firma`, 
MONTH( `LieferDatum` ) AS `Monat`  
FROM `Statistik`
WHERE BestellNummer IN (10,11,100)
GROUP BY `Firma`,  MONTH( `LieferDatum` ), Kundennummer, MONTH (LieferDatum)
ORDER BY `Firma`,  MONTH( `LieferDatum` ), Kundennummer, MONTH (LieferDatum)
Gruß Barlee
Antworten