Dev.W
Dev.W

Reputation: 2370

Error with MySQL Subquery

I have a MySQL query to produce a view which displays two columns, the two columns are sub query's but for some reason I am getting error.

SELECT 
(SUM(cards_required) FROM `orders` WHERE statuses = 1) As Count,
(SUM(cards_required) FROM `orders` WHERE statuses = 2) As Count
FROM `orders` WHERE user_id = 1

error message

#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 'FROM orders WHERE statuses = 1) As Count, (SUM(cards_required) FROM orders ' at line 3

Upvotes: 1

Views: 35

Answers (1)

Jim
Jim

Reputation: 22656

The syntax you're using isn't quite right. You can use IF to conditionally sum:

SELECT 
SUM(IF(statuses = 1,cards_required,0)) As status_1,
SUM(IF(statuses = 2,cards_required,0)) As status_2
FROM `orders` WHERE user_id = 1

Upvotes: 1

Related Questions