Toon posts:

[MySQL] SELECT x AS y, y+1 AS Z?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ben hier al een tijdje mee bezig, heb een query waar ik een SELECT AS gebruik, de resulterende 'kolom': gemiddelde wil ik nog eens gebruiken, aleen mysql klaagt er dan over dat deze niet in de field list zit.kan er wel op sorteren trouwens. Kan dit op een andere manier of moet ik alles opnieuw uitrekenen?

error: Unknown column 'gemiddelde' in 'field list'

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SELECT                  
                    IF (subscription_discount_duration=subscription_duration,
                            subscription_price                          
                        ,
                            ROUND(
                            (
                                (subscription_price-subscription_discount)
                                *
                                subscription_discount_duration
                                +
                                (subscription_duration-subscription_discount_duration)
                                *
                                subscription_price
                            ) 
                            / subscription_duration 
                            ,2)                         
                        ) AS gemiddelde,
                        
                        gemiddelde * subscription_duration AS totaal
                        
                    FROM 
                        feed_data

  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

volgens mij kan je een met AS gedefinieerde kolom alleen gebruiken in clausules na FROM table. (order by bijvoorbeeld).

"True skill is when luck becomes a habit"
SWIS


Verwijderd

Topicstarter
UltimateB schreef op zondag 18 mei 2008 @ 14:47:
volgens mij kan je een met AS gedefinieerde kolom alleen gebruiken in clausules na FROM table. (order by bijvoorbeeld).
Ja was er al bang voor! Jammer, het wordt er minder overzichtelijk van (en langzamer?).
Bedankt iig!

  • SierdW
  • Registratie: April 2004
  • Laatst online: 23-09-2025
Kan je die laatste berekening van het totaal niet buiten de query omdoen, ik weet natuurlijk niet precies wat je er mee wil doen, maar als je gemiddelde en subscription_duration als output geeft van de query, kan je totaal toch simpel berekenen in bijvoorbeeld php of asp? Misschien denk ik ook wel te simpel hoor :).

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SELECT                      
                    IF (subscription_discount_duration=subscription_duration, 
                            subscription_price                             
                        , 
                            ROUND( 
                            ( 
                                (subscription_price-subscription_discount) 
                                * 
                                subscription_discount_duration 
                                + 
                                (subscription_duration-subscription_discount_duration) 
                                * 
                                subscription_price 
                            )  
                            / subscription_duration  
                            ,2)                             
                        ) AS gemiddelde, 
                         
                        subscription_duration
                         
                    FROM  
                        feed_data

ASP:
1
totaal = rs("gemiddelde") * rs("subscription_duration")