我正在尝试使用IF ELSE Condition管理查询。但是我没有使用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:
答案 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