问题描述
我正在尝试使这个查询工作,但我找不到问题:
"SELECT "
. "CASE victima "
. "WHEN LIKE serviciul_sursei THEN SUM(nr_victime) as nr_vict FROM listaint WHERE victima = '".$victima[$k0]."' "
. "WHEN NOT LIKE serviciul_sursei THEN SUM(nr_victime) as nr_vict1 FROM listaint WHERE serviciul_sursei = '".$victima[$k0]."' "
. "END "
解决方法
美好的一天,
问题
- 您没有在您的
end
标签后指定一个表来选择。 - 您还应该在
case
标记之前指定要选择的列。 - 您还错误地使用了
like
操作。当column
喜欢predicate
然后……
-
这里是一个案例查询的例子
SELECT OrderID,Quantity,CASE WHEN Quantity > 30 THEN 'The quantity is greater than 30' WHEN Quantity = 30 THEN 'The quantity is 30' WHEN Quantity like '10%' THEN 'The quantity is like 10' ELSE 'The quantity is under 30' END AS QuantityText FROM OrderDetails;
您可以在此处运行此查询 W3Schools 案例查询
详细了解Case information
详细了解Like Information
-
SUM Case 查询示例
SELECT OrderID,SUM(CASE WHEN Quantity like '10%' THEN 1 ELSE 0 END) likeCount,SUM(CASE WHEN Quantity > 25 THEN 1 ELSE 0 END) greaterCount FROM OrderDetails;
试试这个(不确定我是否正确理解了您的需求):
SELECT
SUM(if(victima like serviciul_sursei,nr_victime,0)) as nr_vict,SUM(if(victima not like serviciul_sursei,0)) as nr_vict1
FROM listaint