Guten Tag.Tricky Query: Prognosedaten
ich dieses Problem in meiner SQL-Abfrage blockiert bin:
die folgende Tabelle angegeben:
CREATE TABLE `Forecasted_Sales_tcl` ( `DEALER_id` varchar(15) NOT NULL, `SALES_period` date NOT NULL, `TYPE` int(2) NOT NULL, `UNIT_SALES` int(6) DEFAULT NULL, `HEAD_OFFICE_CODE` varchar(15) DEFAULT NULL PRIMARY KEY (`DEALER_CODE`,`SALES_MONTH`,`TYPE`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
http://sqlfiddle.com/#!2/b780c
Ich brauche die möglichen Verkaufsgebühren in den kommenden Monaten zu erzeugen. Zum Beispiel habe ich einen Outbound Sales (unit_sales) für einen Monat (SALES_period) "Juni 2012" auf einem Geschäft gezeichnet. Ich erwarte einige Service-Gebühren Typ A am August 2012, Typ B am Okt 2012, Typ C am Dez. 2012. Ich habe auch einige Out-gebundenen Umsatz auf einige verschiedene Monate in verschiedenen Geschäften.
Ich versuche, einen Bericht, so etwas zu erzeugen:
Period |charge A | charge B |charge C | store_id 2012-Jan | X | Y | Z | (id) 2012-Feb | : | : | : : 2012-Mar | : | : | : : 2012-Apr | : | : | : : 2012-May | : | : | : : 2012-Jun | : | : | : : 2012-Jul | : | : | : : 2012-Aug | : | : | : : 2012-Sep | : | : | : : 2012-Oct | : | : | : : 2012-Nov | : | : | : : 2012-Dec | : | : | : :
X Insgesamt ist die unit_sales (2 Monate) für den Speicher (id) Y insgesamt ist die unit_sales (4 Monate) für der Speicher (id) Z ist die unit_sales total (6 Monate) für den Speicher (id)
die genannten Daten über die sQL-Geige und einige Parameter Gegeben: Bericht generieren: Von: 2012- 06 An: 2013-07
Period | Dealer Id | CHARGE X | CHARGE B | CHARGE C | 2012-06 | 0001 | 0 | 0 | 0 | 2012-07 | 0001 | 0 | 0 | 0 | 2012-08 | 0001 | 100 | 0 | 0 | 2012-09 | 0001 | 0 | 0 | 0 | 2012-10 | 0001 | 0 | 100 | 0 | 2012-11 | 0001 | 0 | 0 | 0 | 2012-12 | 0001 | 0 | 0 | 100 | 2013-01 | 0001 | 0 | 0 | 0 | 2013-02 | 0001 | 0 | 0 | 0 | 2013-03 | 0001 | 0 | 0 | 0 | 2013-04 | 0001 | 0 | 0 | 0 | 2013-05 | 0001 | 0 | 0 | 0 | 2013-06 | 0001 | 0 | 0 | 0 | 2013-07 | 0001 | 0 | 0 | 0 | Period | Dealer Id | CHARGE A | CHARGE B | CHARGE C | 2012-06 | 0002 | 0 | 10 | 2 | 2012-07 | 0002 | 0 | 0 | 0 | 2012-08 | 0002 | 10 | 0 | 0 | 2012-09 | 0002 | 18 | 0 | 0 | 2012-10 | 0002 | 5 | 10 | 0 | 2012-11 | 0002 | 0 | 18 | 0 | 2012-12 | 0002 | 0 | 5 | 10 | 2013-01 | 0002 | 0 | 0 | 18 | 2013-02 | 0002 | 0 | 0 | 5 | 2013-03 | 0002 | 0 | 0 | 0 | 2013-04 | 0002 | 0 | 0 | 0 | 2013-05 | 0002 | 0 | 0 | 0 | 2013-06 | 0002 | 0 | 0 | 0 | 2013-07 | 0002 | 0 | 0 | 0 |
Auf diesen 10 ist für den Vertrieb (2012-04), während 2 für den Verkauf ist (2012-02)
Period | Dealer Id | CHARGE A | CHARGE B | CHARGE C | 2012-06 | 0003 | 0 | 0 | 0 | 2012-07 | 0003 | 0 | 0 | 0 | 2012-08 | 0003 | 1 | 0 | 0 | 2012-09 | 0003 | 0 | 0 | 0 | 2012-10 | 0003 | 0 | 1 | 0 | 2012-11 | 0003 | 0 | 0 | 0 | 2012-12 | 0003 | 0 | 0 | 1 | 2013-01 | 0003 | 0 | 0 | 0 | 2013-02 | 0003 | 0 | 0 | 0 | 2013-03 | 0003 | 0 | 0 | 0 | 2013-04 | 0003 | 0 | 0 | 0 | 2013-05 | 0003 | 0 | 0 | 0 | 2013-06 | 0003 | 0 | 0 | 0 | 2013-07 | 0003 | 0 | 0 | 0 |Meister Bericht
| 2012-06 | 2012-07 | 2012-08 | 2012-09 | 2012-10 | 2012-11 | Dealer ID | CHARGE A | CHARGE B | CHARGE C | CHARGE A | CHARGE B | CHARGE C | CHARGE A | CHARGE B | CHARGE C | CHARGE A | CHARGE B | CHARGE C | CHARGE A | CHARGE B | CHARGE C | CHARGE A | CHARGE B | CHARGE C | 001 | 0 | 0 | 0 | 0 | 0 | 0 | 100 | 0 | 0 | 18 | 0 | 0 | 0 | 100 | 0 | 0 | 18 | 0 | 002 | 0 | 10 | 2 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 003 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Danke für die Hilfe.
Hum ... das ist ziemlich schwierig und ich bin ein wenig Kopfschmerzen, die versuchen, die Frage richtig zu verstehen. Aber es sieht wie ein interessantes aus, könntest du ein [sqlfiddle] erstellen (http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CFAQFjAA&url=http%3A%2F% 2Fsqlfiddle.com% 2F & ei = 5JvcT5bCIbCM0wWxg8jNCg & usg = AFQjCNFm12TxaOOyr1fCpsH3njbgA9q20A) mit einigen Daten und fügen Sie ein erwartetes Ergebnis hinzu? –