mysql - MySQL 查询出现问题

标签 mysql sql

当我尝试执行此查询时遇到了麻烦。

INSERT INTO af_pres (cod,pres,fecha,tipo,stad,oper,ref,monto)
 VALUES 
 ("",
      (CASE
        (SELECT p.pres FROM af_pres p WHERE 
         p.pres LIKE "%0100000100191000140100%" AND 
         p.fecha LIKE "%2014%" = '' 
      THEN pres ELSE 
        (pres = "2014"))END),
       "2014-09-26","G","1","M","MOD-2014",70000);
       

最佳答案

您不能像在查询中那样在 CASE 中使用 SELECT。 MySQL 没有内置此功能。 如果您描述您想做什么,我们可以为您提供更多帮助。

好的,这是一个解决方案,但我还没有尝试过:)

INSERT INTO af_pres (cod,pres,fecha,tipo,stad,oper,ref,monto)
VALUES 
    ("", 
    (SELECT IF (COUNT(p.pres) > 0, pres, '2014') 
     FROM af_pres p 
     WHERE p.pres LIKE "%0100000100191000140100%" 
     AND p.fecha LIKE "%2014%" = ''), 
    "2014-09-26",
    "G",
    "1",
    "M",
    "MOD-2014",
    70000);

关于mysql - MySQL 查询出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26491393/

相关文章:

sql - 查找没有 future 日期的最大日期的方法

sql - 查询调用连接的相同表的两个实例来比较字段,给出镜像结果。如何消除镜像重复项?

sql - 谁能解释为什么这些查询不一样?

mysql - 使用 mysql 中的 select 语句替换 sql 中的空值?

php - ext/mysql 字符集支持 vs ext/mysqli 字符集

mysql - 数据库关系表

php - 如何在 PHP 中自动找出特定 MySQL 列的数字索引?

java - 将行插入数据库后 JTable 不更新

php - 从 Controller 通过其 Controller 调用另一个模型中的函数时出现数据库错误

mysql - 无论如何,是否可以将单列数据显示为多列