【问题标题】:IF, EXISTS and SELECT in one SQL queryIF、EXISTS 和 SELECT 在一个 SQL 查询中
【发布时间】:2014-04-21 20:56:17
【问题描述】:

我在mysql中有下表

 BLUE      | RED         | WOLOLO (UNIXTIMESTAMP)
 2 ---------10-----------1324123...
 3 ---------34-----------13241323...
 8 ---------10-----------NULL
 6 ---------10-----------NULL

我想要做的是验证是否有任何行 WOLOLO 不同于 null RED 等于 10。如果不是,它插入一个新行,否则它选择 蓝色从它。像这样的东西(不工作)

$query = "IF(EXISTS (SELECT BLUE FROM table WHERE WOLOLO='x' AND RED='10'), 从表中选择蓝色 WHERE WOLOLO='x' AND RED='10', INSERT INTO 表..."

【问题讨论】:

  • 不能分两步做吗?从 WOLOLO 不为 NULL 且 RED = '10' 的表中选择 count(*)。那将返回一个计数。如果计数 > 0 插入表中...
  • 您是否阅读过有关IF 的文档?为什么不呢?
  • 您不能插入或选择。这是两个操作。

标签: mysql sql


【解决方案1】:

把它分成几个步骤:

    DECLARE var0 INT;

    SELECT COUNT(*) INTO var0 FROM table 
    WHERE WOLOLO IS NOT NULL and RED = '10'; 


    IF var0>0 THEN
     SELECT BLUE FROM table 
    END IF;

    IF var0=0 THEN
     INSERT INTO table ....
    END IF;    

【讨论】:

    【解决方案2】:

    【讨论】:

    • 如果你能提供一个例子那就太好了,我不理解带有 SELECT 和 COUNT 的 IF 的语法
    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多