mysql - mysql 不工作的情况

标签 mysql database

SELECT SUM(amount) as tdb 
FROM (`v_ledger_details`) 
WHERE `debit_credit` = 'DB' 
AND `CASE` WHEN transaction_type_id IN(4,5) 
           THEN billDate < "2016-06-01" 
           ELSE postingDate < "2016-06-01" 
     END 
AND accountId = '944'

上面的查询有什么问题。我需要 where 中的 case 子句,但该查询给了我错误。

最佳答案

不要在 where 子句中使用 case。通常只在 select 子句中使用它。然后不要反引号 case 关键字

SELECT SUM(amount) as tdb 
FROM v_ledger_details
WHERE `debit_credit` = 'DB' 
AND accountId = '944'
AND 
(
    (transaction_type_id IN (4,5) and billDate < '2016-06-01') OR
    (transaction_type_id NOT IN (4,5) AND postingDate < '2016-06-01')
)

关于mysql - mysql 不工作的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37566070/

相关文章:

c# - 来自 C# .NET 控制台应用程序的 MySql 连接未返回

mysql - 从 MySQL 数据库中选择多个重复字段

php - MySQL 日期 : 0000-00-00 00:00:00

mysql - 搜索两个不同数据库之间的共同值

php - 将数据库中的信息显示到表单上

php - 在列表中列出mysql表中的所有行

database - 在我的数据库中存储 strip 客户 ID 是否危险?

mysql - SQL 查询字符串中的可选变量

javascript - 无法在 JavaScript 循环中从数据库获取数据

database - xCode,将数据存储在设备上,稍后上传到服务器数据库