如果在Mysql查询中的ELSE条件 - PHP

时间:2014-01-15 05:40:16

标签: php mysql sql

我正在尝试使用IF ELSE Con​​dition管理查询。但是我没有使用IF ELSE而是使用案例。

我想通过决定用户类型

GROUP BY

这是我的查询。

SELECT * 
FROM users
WHERE flag = 1 AND blockStatus = 0
GROUP BY
CASE userType
    WHEN 1 THEN
        jobId
    WHEN 2 THEN
        experienceId
END

不知何故,它正在获取相同jobId或experienceId的多个记录。

实施这种条件的正确方法是什么?

SQL FIDDLE HERE:

http://sqlfiddle.com/#!2/e3df6/1

2 个答案:

答案 0 :(得分:1)

如果您使用php创建此查询,那么为什么不根据php中的数据创建您的查询: -

$query = ($userType==1) ? "Select * from users where flag=1 and blockstatus=0 group by jobId" : "Select * from users where flag=1 and blockstatus=0 group by experienceId";

答案 1 :(得分:1)

你可以尝试这样..

SELECT *
FROM user
where usertype =1 group by jobid
union
SELECT *
FROM user
where usertype =2 group by experienceId