mysql - sql中的简单If Else语句

标签 mysql sql if-statement

我试图从包含更多货币的表中仅获取以美元和欧元表示的行。

我认为代码应该是这样的:

SELECT IF(CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY='USD',1,0) OR IF(CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY='EUR',1,0
FROM CONTRACTS_IN_DIFFERENT_CURRENCIES

但我知道事情不应该如此。我希望表格类似于美元和欧元的列

最佳答案

您似乎正在尝试使用 Excel 的 IF(condition, true_response, false_response) 语法。 T-SQL 中的等效语法是 CASE WHEN THEN ELSE END 语法:

SELECT 
    CASE 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY ='USD' THEN 1 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY='EUR' THEN 1
        ELSE 0
    END 
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES

这将适用于比您给我们的示例更复杂的查询。另一种方法是,如果同一字段有多个可能的值将返回相同的响应,则为

SELECT 
    CASE 
        WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') THEN 1
        ELSE 0
    END 
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES

但是,这并不是用于仅获取具有某些货币的行的正确语法;之前的答案是

SELECT *     
FROM 
    CONTRACTS_IN_DIFFERENT_CURRENCIES
WHERE 
    CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') 

最适合这个。

关于mysql - sql中的简单If Else语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616470/

相关文章:

c - 请向我解释为什么这个带有 if 语句的简单 C 程序不起作用?

带有 IF 和 OR 语句的 Excel 匹配函数

python - 通过 if 语句进行条件字典查找的问题

php - 获取每个用户的最新 N 个帖子

php - 通过PHP以mysql BLOB类型存储图像,需要一些帮助来显示图像

sql - 如何连接两个 select count 语句

mysql - 在这种情况下使用外键(MySQL)是否明智?

java - 更新实体 (JPA+MySQL) - key '142' 的重复条目 'PRIMARY'

mysql - 规范化mysql数据库

c# - 使用 SQL 时 DBConnection 超时