I have tried to rewrite the below query, so that it will work in a PHP page, but I have not been able to find any documentation on how the “;WITH” statement can be used in PHP, or how to make the same effect with a valid PHP Query.. The Query works perfect when executet in MS SQL 2008 R2 Management Studio, but it gives errors when I try to load it into MSSQL PHP Generator from SQLMaestro.
The query is:
;WITH UserStars AS
(
SELECT a.username, ROUND(AVG(CAST(b.stars AS FLOAT)),1) Stars
FROM score b
JOIN game_users a ON a.id = b.game_users_id
GROUP BY a.username
)
SELECT CASE WHEN Stars < 1.4 THEN 'StarAmount1'
WHEN Stars BETWEEN 1.4 AND 2.4 THEN 'StarAmount2'
WHEN Stars BETWEEN 2.4 AND 3.4 THEN 'StarAmount3'
WHEN Stars BETWEEN 3.4 AND 4.4 THEN 'StarAmount4'
WHEN Stars BETWEEN 4.4 AND 5.0 THEN 'StarAmount5' ELSE 'AnotherStarAmount' END StarAmount,
COUNT(*) Users
FROM UserStars
GROUP BY CASE WHEN Stars < 1.4 THEN 'StarAmount1'
WHEN Stars BETWEEN 1.4 AND 2.4 THEN 'StarAmount2'
WHEN Stars BETWEEN 2.4 AND 3.4 THEN 'StarAmount3'
WHEN Stars BETWEEN 3.4 AND 4.4 THEN 'StarAmount4'
WHEN Stars BETWEEN 4.4 AND 5.0 THEN 'StarAmount5' ELSE 'AnotherStarAmount' END
Could someone point me in the right direction, so that the same query could be used in both PHP and in MS SQL 2008 R2 management studio?
Try it like this: