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

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/

10-11 07:27