[MySQL] Ausgabe typ der SELECT

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    PHP-Code:
    SELECT AVGadmin_AuftragStatusLog.STATUS ) AS `LastStatus
    FROM admin_AuftragLst
    INNER JOIN admin_AuftragStatusLog ON admin_AuftragLst
    .AuftrLstID admin_AuftragStatusLog.AuftrLstID
    GROUP BY admin_AuftragLst
    .AuftrUEBID 
    als gegentest geht ohne probleme.

    zum testen:

    PHP-Code:
    CREATE TABLE `admin_AuftragStatusLog` (
      `
    AuftrLogIDint(10NOT NULL auto_increment,
      `
    AuftrLstIDint(10unsigned NOT NULL default '0',
      `
    statussmallint(4unsigned NOT NULL default '0',
      `
    date_addtimestamp(14NOT NULL,
      `
    user_addmediumint(8NOT NULL default '0',
      
    PRIMARY KEY  (`AuftrLogID`)
    TYPE=MyISAM AUTO_INCREMENT=;

    -- 
    -- 
    Daten für Tabelle `admin_AuftragStatusLog`
    -- 

    INSERT INTO `admin_AuftragStatusLogVALUES (11255'20041109115957'3);
    INSERT INTO `admin_AuftragStatusLogVALUES (02230'20041109122210'3);
    INSERT INTO `admin_AuftragStatusLogVALUES (33255'20041109120000'3);
    INSERT INTO `admin_AuftragStatusLogVALUES (42250'20041109122234'3);


    CREATE TABLE `admin_AuftragLst` (
      `
    AuftrLstIDint(10NOT NULL auto_increment,
      `
    AuftrUEBIDint(10unsigned NOT NULL default '0',
      
    PRIMARY KEY  (`AuftrLstID`)
    TYPE=MyISAM AUTO_INCREMENT=;

    -- 
    -- 
    Daten für Tabelle `admin_AuftragLst`
    -- 

    INSERT INTO `admin_AuftragLstVALUES (11);
    INSERT INTO `admin_AuftragLstVALUES (21);
    INSERT INTO `admin_AuftragLstVALUES (32); 
    bei fragen immer
    windows - pc: Start -> Ausführen -> cmd (command) - format c:
    linux : lass es , es hat sicher einen sinn so
    --
    php-forum.at


    >>>>dont ask me why<<<<

    Kommentar


    • #17
      Hm... irgendwie akzeptiert mySQL das Argument von AVG trotz CAST nicht. Lösch mal alle überflüssigen Leerzeichen, vielleicht liegt's daran
      oder:
      - mal ohne AVG probieren. Funz?
      - wie sieht EXPLAIN aus?

      Kommentar


      • #18
        ohne AVg geht ohne probleme.
        sobald SUM oder AVG dabei ist spinnt es.

        bei explain


        PHP-Code:
        EXPLAIN SELECT AVGCastTRIM
        LEADING MAXadmin_AuftragStatusLog.date_add 
        FROM MAXconcatadmin_AuftragStatusLog.date_addadmin_AuftragStatusLog.status ) ) ) AS SIGNED ) ) 
        AS `
        LastStatus
        FROM admin_AuftragLst
        INNER JOIN admin_AuftragStatusLog 
        ON admin_AuftragLst
        .AuftrLstID admin_AuftragStatusLog.AuftrLstID
        GROUP BY admin_AuftragLst
        .AuftrUEBID 

        #1111 - Invalid use of group function


        mysqlEXPLAIN SELECT CastTRIMLEADING 
        MAX
        admin_AuftragStatusLog.date_add FROM 
        MAX
        concatadmin_AuftragStatusLog.date_add
        admin_AuftragStatusLog.status ))) AS SIGNED 
         AS `
        LastStatusFROM admin_AuftragLst INNER JOIN 
        admin_AuftragStatusLog ON 
        admin_AuftragLst
        .AuftrLstID admin_AuftragStatusLog.AuftrLstID 
        GROUP BY admin_AuftragLst
        .AuftrUEBID ;
        +------------------------+------+---------------+------+---------+------+------+---------------------------------+
        table                  type possible_keys key  key_len ref  rows Extra                           |
        +------------------------+------+---------------+------+---------+------+------+---------------------------------+
        admin_AuftragLst       ALL  PRIMARY       NULL |    NULL NULL |    Using temporaryUsing filesort |
        admin_AuftragStatusLog ALL  NULL          NULL |    NULL NULL |    Using where                     |
        +------------------------+------+---------------+------+---------+------+------+---------------------------------+
        2 rows in set (0.00 sec
        Zuletzt geändert von asp2php; 09.11.2004, 12:17.
        bei fragen immer
        windows - pc: Start -> Ausführen -> cmd (command) - format c:
        linux : lass es , es hat sicher einen sinn so
        --
        php-forum.at


        >>>>dont ask me why<<<<

        Kommentar


        • #19
          was ist mit Leerzeichen? Warum hast du so viele drin (vor und nach Klammern)?

          Kommentar


          • #20
            naja so viele leerzeichen sind es nicht,

            aber geht trozdem nicht.

            PHP-Code:
            EXPLAIN SELECT AVG(Cast(TRIM(
            LEADING MAX(admin_AuftragStatusLog.date_add
            FROM MAX(concat(admin_AuftragStatusLog.date_addadmin_AuftragStatusLog.status))) AS SIGNED )) 
            AS `
            LastStatus
            FROM admin_AuftragLst
            INNER JOIN admin_AuftragStatusLog 
            ON admin_AuftragLst
            .AuftrLstID admin_AuftragStatusLog.AuftrLstID
            GROUP BY admin_AuftragLst
            .AuftrUEBID 
            bei fragen immer
            windows - pc: Start -> Ausführen -> cmd (command) - format c:
            linux : lass es , es hat sicher einen sinn so
            --
            php-forum.at


            >>>>dont ask me why<<<<

            Kommentar


            • #21
              Hm... letzter Versuch:

              date_add ist reserviertes Wort, wie wär's mit z.B. admin_AuftragStatusLog.`date_add`ansprechen

              Kommentar


              • #22


                leider wieder nicht .... BUGGIE !?!
                dennoch DANKE!


                werde es daweil anders machen. falls jemanden noch etwas einfallen würde, wäre ich ihm sehr sehr dankbar!
                danke!

                PHP-Code:
                EXPLAIN SELECT AVGCastTRIM
                LEADING MAXadmin_AuftragStatusLog.`date_add` ) 
                FROM MAXconcatadmin_AuftragStatusLog.`date_add` , admin_AuftragStatusLog.status ) ) ) AS SIGNED ) ) AS `LastStatus
                FROM admin_AuftragLst
                INNER JOIN admin_AuftragStatusLog ON admin_AuftragLst
                .AuftrLstID admin_AuftragStatusLog.AuftrLstID
                GROUP BY admin_AuftragLst
                .AuftrUEBID 
                bei fragen immer
                windows - pc: Start -> Ausführen -> cmd (command) - format c:
                linux : lass es , es hat sicher einen sinn so
                --
                php-forum.at


                >>>>dont ask me why<<<<

                Kommentar

                Lädt...
                X