Franco: Code zum Nachbasteln

Beitrag lesen

Es ist irgendwas anders als in meinem Versuch. Ich kann nicht hellsehen und ein nachvollziehbares Beispiel hast du nicht veröffentlicht. Mach eine Kopie der Tabelle. Lösch alle Datensätze bis auf 2 oder drei signifikante (ungefähr analog zu meinem Versuch). Auch alle Spalten, die nicht weiter für das Problem relevant sind, kannst du löschen. Teste dann, ob der Fehler noch vorhanden ist. Poste in dem Fall die CREATE-, INSERT- und SELECT-Statements, so dass man sie nur noch kopiern muss, um den Fall nachzustellen.

Hi dedlfix,

ich habe es geschafft, nachvollziehbaren Code zu generieren, der mein Problem transparent machen dürfte:

  
CREATE TEMPORARY TABLE `tmp` (  
`ID` INT( 2 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,  
`Monat` VARCHAR( 10 ) NOT NULL  
) ENGINE = MYISAM ;  
  
INSERT INTO `tmp` (`ID`, `Monat`) VALUES  
(1, '2010|10'),  
(2, '2010|09'),  
(3, '2010|08'),  
(4, '2010|07'),  
(5, '2010|06');  
  
  
CREATE TEMPORARY TABLE meinetabelle (  
  ID int(10),  
  Unixstamp varchar (10) NOT NULL,  
`loesch` INT( 1 ) NOT NULL ,  
`Status` VARCHAR( 10 ) NOT NULL  
);  
  
INSERT INTO meinetabelle VALUES  
(1, UNIX_TIMESTAMP(NOW()),'0','qq'),  
(2, UNIX_TIMESTAMP(NOW() - INTERVAL 1 MONTH),'0','qq'),  
(3, UNIX_TIMESTAMP(NOW() - INTERVAL 1 MONTH),'0','qq'),  
(4, UNIX_TIMESTAMP(NOW() - INTERVAL 3 MONTH),'0','qq');  
  
  
SELECT *, FROM_UNIXTIME(m.Unixstamp, '%Y|%m')  
FROM tmp t  
LEFT JOIN meinetabelle m ON t.Monat = FROM_UNIXTIME(m.Unixstamp, '%Y|%m')  
WHERE  
loesch != 1 AND  
Status = 'xx'  
GROUP BY t.Monat DESC;  

Als Ergebnismenge erhältst Du ein leeres Resultat.

Aber wir wollten ja über unseren LEFT JOIN auf jeden Fall die Monate haben, auch wenn in diesem Monat kein Eintrag vorliegt.

Gruß, Frank

0 54

Problem bei einer Query

Franco
  • datenbank
  1. 0
    suit
  2. 0
    dedlfix
    1. 0
      Franco
      1. 0
        Vinzenz Mai
        1. 0
          Franco
          1. 0
            dedlfix
            1. 0
              Franco
              1. 0
                dedlfix
                1. 0
                  Franco
                  1. 0
                    Vinzenz Mai
                    1. 0
                      Franco
                      1. 0
                        dedlfix
                        1. 0
                          Franco
                          1. 0
                            dedlfix
                            1. 0
                              Franco
                              1. 0
                                dedlfix
                                1. 0
                                  Franco
                                  1. 0

                                    Code zum Nachbasteln

                                    Franco
                                    1. 0
                                      dedlfix
                                      1. 0
                                        dedlfix
                                        1. 0
                                          Vinzenz Mai
                                        2. 0
                                          Franco
                                          1. 0
                                            Vinzenz Mai
                                            1. 0

                                              Nachschlag

                                              Franco
                                              1. 0
                                                Ilja
                                                1. 0
                                                  dedlfix
                                                  1. 0
                                                    Franco
                                                  2. 0
                                                    Ilja
                                              2. 0
                                                dedlfix
                                                1. 0
                                                  Franco
                                                  1. 0
                                                    Vinzenz Mai
                                                    1. 0
                                                      Franco
                                                  2. 0
                                                    dedlfix
                                                    1. 0
                                                      Franco
                                                      1. 0

                                                        Nachschlag, Tag 3

                                                        Franco
                                                        1. 0
                                                          dedlfix
                                                          1. 0
                                                            Franco
                                                            1. 0
                                                              dedlfix
                                                              1. 0
                                                                Franco
                                                                1. 0
                                                                  Franco
                                                                2. 0
                                                                  dedlfix
                                            2. 0
                                              Franco
                          2. 0
                            Ilja
                  2. 0
                    dedlfix
                    1. 0
                      Franco
                      1. 0
                        dedlfix
    2. 0
      Franco
      1. 0
        dedlfix
        1. 0
          Franco
          1. 0
            dedlfix
        2. 0
          Franco
          1. 0
            dedlfix
            1. 0
              Franco