【问题标题】:Select query in IF statement MYSQLIF语句MYSQL中的选择查询
【发布时间】:2020-07-21 17:46:25
【问题描述】:

在我的 MySql 数据库中,我想创建应该提供如下输出的选择查询:

在我的选择查询中,如果选择查询返回的列表中存在列值,我希望列输出为 1,否则为 0。

选择 col1,col2, ,IF col3 输入 ((从表 2 中选择 col),1,0)AS col5 来自tbl1。

提前致谢

SELECT col1, col2, 

    IF col3 IN ((select col from tabl2 ),1,0) AS col5 

FROM tbl1

【问题讨论】:

    标签: mysql if-statement select


    【解决方案1】:

    在 MySQL 中使用 IF 和子查询

    SELECT table1.column1, table1.column2,
    
        (
    
            SELECT IF (
                (SELECT column3 FROM table1 WHERE column3 IN (SELECT column FROM table2)), 1, 0
            ) 
    
        ) AS column_output 
    
    FROM table1
    

    【讨论】:

      【解决方案2】:

      一般:

      SELECT col1,
             col2,
             CASE WHEN col3 IN (select col from tabl2)
                  THEN 1
                  ELSE 0
                  END AS col5 
      FROM tbl1
      

      特定于 MySQL:

      SELECT col1,
             col2,
             col3 IN (select col from tabl2) AS col5 
      FROM tbl1
      

      【讨论】:

        猜你喜欢
        • 2013-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-27
        • 2012-07-26
        • 1970-01-01
        • 2014-10-18
        • 1970-01-01
        相关资源
        最近更新 更多