Subselect vom UNION

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

  • Subselect vom UNION

    Begrü,

    ich habe in Problem mit nachfolgendem Statement. Unter MySql 5x funktioniert es, aber unter 4.0 nicht. Ich kann nicht ganz glauben, dass diese subselect nicht möglich ist. Doku über 4.0 habe ich leider keine gefunden, nur 4.1 und da ist es definietiv beschrieben, dass es funktionieren muss.. über einen Rat, wie ich das statement zum laufen bringe, wäre ich also sehr dankbar

    select sum(`total`)as 's_total', sum(`day`) as 's_day', sum(`week`) as 's_week', sum(`month`) as 's_month', sum(`year`) as 's_year' from (
    SELECT sum( `count` ) AS 'total', 0 AS 'day', 0 AS 'week', 0 AS 'month', 0 AS 'year', 0 AS `groupby`
    FROM `dbcounter_count`
    GROUP BY `groupby`
    UNION SELECT 0 AS 'total', sum( `count` ) AS 'day', 0 AS 'week', 0 AS 'month', 0 AS 'year', DATE_FORMAT( FROM_UNIXTIME( `first_access` ) , '%Y%m%d' ) AS 'groupby'
    FROM `dbcounter_count`
    WHERE DATE_FORMAT( FROM_UNIXTIME( `first_access` ) , '%Y%m%d' ) = DATE_FORMAT( NOW( ) , '%Y%m%d' )
    GROUP BY `groupby`
    UNION SELECT 0 AS 'total', 0 AS 'day', sum( `count` ) AS 'week', 0 AS 'month', 0 AS 'year', DATE_FORMAT( FROM_UNIXTIME( `first_access` ) , '%v %Y' ) AS 'groupby'
    FROM `dbcounter_count`
    WHERE DATE_FORMAT( FROM_UNIXTIME( `first_access` ) , '%v %Y' ) = DATE_FORMAT( NOW( ) , '%v %Y' )
    GROUP BY `groupby`
    UNION SELECT 0 AS 'total', 0 AS 'day', 0 AS 'week', sum( `count` ) AS 'month', 0 'year', DATE_FORMAT( FROM_UNIXTIME( `first_access` ) , '%m %Y' ) AS 'groupby'
    FROM `dbcounter_count`
    WHERE DATE_FORMAT( FROM_UNIXTIME( `first_access` ) , '%m %Y' ) = DATE_FORMAT( NOW( ) , '%m %Y' )
    GROUP BY `groupby`
    UNION SELECT 0 AS 'total', 0 AS 'day', 0 AS 'week', 0 AS 'month', sum( `count` ) AS 'year', YEAR( FROM_UNIXTIME( `first_access` ) ) AS 'groupby'
    FROM `dbcounter_count`
    WHERE YEAR( FROM_UNIXTIME( `first_access` ) ) = DATE_FORMAT( NOW( ) , '%Y' )
    GROUP BY `groupby`
    ) AS 'iv'

    Danke,
    ChP
    http://www.prattes.ch

  • #2
    4.0 != 4.1 ... ab 4.1 sollten subselects funktionieren.
    Kissolino.com

    Kommentar


    • #3
      mmmh..... demnach sollte das Ding da oben auch funktionieren oder?

      Irgednwas scheint aber falsch zu sein...

      vielleicht hilft jemanden der Fehlertext:

      #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT sum( `count` ) AS 'total' , 0 AS 'day' , 0 AS 'week' , 0


      Wenn ich das äußerste select wegnehme funktioniert das Statement...aber ich möchte eben nur eine Zeile bekommen und nicht für jedes stmt im union eine.
      http://www.prattes.ch

      Kommentar


      • #4
        Original geschrieben von prattes.ch
        mmmh..... demnach sollte das Ding da oben auch funktionieren oder?
        Wonach sollte es funktionieren ... Wurzel hat doch wohl eindeutig mitgeteilt das es unter 4.1 funktioniert ... und nicht unter 4.0 ... !
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          ooh... sorry.

          falsch gelesen...

          also in 4.0 definitiv kein sub select.... blöde sache.

          Danke jedenfalls
          http://www.prattes.ch

          Kommentar

          Lädt...
          X