Order by expression
Jeg får en fejl når jeg prøver at køre min query:The ORDER BY expression (IFF(Ucase(testing.[Product] ALike '%CALIBRATION%',1,2)) includes fields that are not selected by the query, Only those fields requested in the first query can be included in an ORDER BY expression.
Min query virker fint uden ORDER BY delen.. testing.[Product] er selected både før og efter min UNION ALL..
Mine SELECT og GROUP BY er ens før og efter UNION ALL..
Hvis jeg nøjes med at sortere alm (asc/desc) og ikke efter indhold (med IFF()), virker det fint..
Jeg har læst noget om en fejl og en løsning på denne, men jeg kan ikke rigtigt få noget ud af denne løsning (den er ikke uddybende nok) - http://www.kbalertz.com/kb_282322.aspx
SELECT SUM(Time_spent.hours) AS Time_spent, testing.[Product],testing.[TOM TR name],testing.[Test sheet links],testing.[TCC target date],testing.[PP Demand date],testing.[Duration],testing.[Remaining],testing.[Time spend],testing.[Last updated],testing.[Status],testing.[EUT available],testing.[Testing started],testing.[Done by],testing.[Comments & AP],testing.[PCM],testing.[Type],testing.[Stream & position],testing.[Test request description],testing.[Test Platform],testing.[Progress status],testing.[Priority],testing.[ID]
FROM multisystem INNER JOIN (testing LEFT JOIN Time_spent ON testing.ID = Time_spent.id) ON multisystem.name = testing.[Test platform]
WHERE multisystem.member_1 = 'CPH_CRTU#2' OR multisystem.member_2 = 'CPH_CRTU#2' OR multisystem.member_3 = 'CPH_CRTU#2' OR multisystem.member_4 = 'CPH_CRTU#2' AND ucase(testing.[Status]) NOT LIKE ('%DONE%') AND ucase(testing.[Status]) NOT LIKE ('%WAITING%') AND ucase(testing.[Test platform]) NOT LIKE ('%REPORT%')
GROUP BY testing.[Product],testing.[TOM TR name],testing.[Test sheet links],testing.[TCC target date],testing.[PP Demand date],testing.[Duration],testing.[Remaining],testing.[Time spend],testing.[Last updated],testing.[Status],testing.[EUT available],testing.[Testing started],testing.[Done by],testing.[Comments & AP],testing.[PCM],testing.[Type],testing.[Stream & position],testing.[Test request description],testing.[Test Platform],testing.[Progress status],testing.[Priority],testing.[ID]
UNION ALL
SELECT SUM(Time_spent.hours) AS Time_spent, testing.[Product],testing.[TOM TR name],testing.[Test sheet links],testing.[TCC target date],testing.[PP Demand date],testing.[Duration],testing.[Remaining],testing.[Time spend],testing.[Last updated],testing.[Status],testing.[EUT available],testing.[Testing started],testing.[Done by],testing.[Comments & AP],testing.[PCM],testing.[Type],testing.[Stream & position],testing.[Test request description],testing.[Test Platform],testing.[Progress status],testing.[Priority],testing.[ID]
FROM testing LEFT JOIN Time_spent ON testing.ID = Time_spent.id
WHERE testing.[test platform] = 'CPH_CRTU#2' AND ucase(testing.[Status]) NOT LIKE ('%DONE%') AND ucase(testing.[Status]) NOT LIKE ('%WAITING%') AND ucase(testing.[Test platform]) NOT LIKE ('%REPORT%')
GROUP BY testing.[Product],testing.[TOM TR name],testing.[Test sheet links],testing.[TCC target date],testing.[PP Demand date],testing.[Duration],testing.[Remaining],testing.[Time spend],testing.[Last updated],testing.[Status],testing.[EUT available],testing.[Testing started],testing.[Done by],testing.[Comments & AP],testing.[PCM],testing.[Type],testing.[Stream & position],testing.[Test request description],testing.[Test Platform],testing.[Progress status],testing.[Priority],testing.[ID]
ORDER BY IIF(ucase(testing.[Product]) LIKE ('%CALIBRATION%'), 1, 2),IIF(ucase(testing.[Product]) LIKE ('%MAINTANANCE%'), 1, 2),IIF(len(testing.[Priority]) > 0, 1, 2) ,testing.[Priority] asc,IIF(len(testing.[TCC target date]) > 0, 1, 2) ,testing.[TCC target date] asc,IIF(len(testing.[PP Demand date]) > 0, 1, 2) ,testing.[PP Demand date] asc,IIF(len(testing.[Duration]) > 0, 1, 2) ,testing.[Duration] asc,IIF(len(testing.[Remaining]) > 0, 1, 2) ,testing.[Remaining] asc
/1..
