Franco: Nachschlag, Tag 3

Beitrag lesen

Hi dedlfix,

Das Script hat sowieso keine Rechte sondern der Benutzer, den du beim Connect angegeben hast. Wenn du nur den einen hast, wäre das fatal, denn mit welchem sonst legst du Tabellen an? Wenn du einen Nur-Lese-Benutzer hast, solltest du klären, ob der nicht auch das Recht CREATE TEMPORARY TABLE bekommen kann.

Sorry, ich hab wohl Blödsinn geredet.
Denn in einem anderen Zusammenhang nutze ich bereits mit diesem Benutzer temporäre Tabellen.

Versteh ich nicht. Es ist doch lediglich der Name einer Tabelle durch das Subselect auszutauschen und ein Aliasname hinten dranzuhängen, wenn noch keiner da ist. Versuch doch mal konkret auf den Punkt zu bringen, wo genau dir noch Verständnis fehlt.

Ich weiß einfach nicht, welcher Teil der Query was efasst.
 Um beim Beispiel zu bleiben:

  
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'),  
(6, '2010|05'),  
(7, '2010|04'),  
(8, '2010|03'),  
(9, '2010|02'),  
(10, '2010|01'),  
(11, '2009|12'),  
(12, '2009|11');  
  
  
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 t.monat, FROM_UNIXTIME(m.Unixstamp, '%Y|%m') AS ym  
FROM tmp t  
LEFT JOIN  
(select count(ID) from meinetabelle  
where  
loesch != 1 AND  
Status = 'xx'  
) m //(kommt das Alias hinter die Klammer?)  
  
m ON t.Monat = m.ym  
GROUP BY t.Monat DESC;  

So geht es jedenfalls schonmal nicht, wenn ich mich erinnere. Ich sitze gerade am falschen Rechner, um das zu verifizieren, aber ich gkaube, mysql mckert dann, dass es m.Unixtimestamp nicht kennt.

Wie auch immer, es ist jedenfalls ungünstig mit einer festen Tabelle zu arbeiten, denn die kann von mehreren gleichzeitig verwendet werden.

Da muss dann konkurrierender Zugriff abgesichert werden.

Fänd ich nicht schwer, denn es müsste nur überprüft werden, ob der richtige Inhalt in der Tabelle steht. Wenn ja,passiert gar nichts. Wenn nein, wird er hineingeschrieben. und zwar genau maximal 1 x im Monat.
Aber Du hast recht, wenn mein User temp. Tabellen anlegen kann, sollte ich das auch nutzen.

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