SQLite条件输出

时间:2014-12-02 00:51:33

标签: sql sqlite spiceworks

我需要在使用ONLY SQLite创建的报表中的列中输出X.

我需要它来找到一个patern,如果那个模式存在该记录输出一个X,如果找不到则输出一个空格。

继承我所拥有的。

SELECT `device_type` AS "Device",
SUBSTR(`model`, 1, 30) AS "Model",
  `location` AS "Location",
  (CASE WHEN (`user_tag` LIKE "%decommissioned%" THEN "X" ELSE " " END) AS "Decom",
  count(`id`) AS "Count"
FROM `devices`
GROUP BY `device_type` ORDER BY `device` ASC;

报告

near "THEN": syntax error

就像我说的那样,我只能使用SQL将报告放在一起。它有点限制,但它可以用于此。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为这是正确的语法:

SELECT `device_type` AS Device,
       SUBSTR(`model`, 1, 30) AS Model,
       `location` AS "Location",
        (CASE WHEN `user_tag` LIKE "%decommissioned%" THEN "X" ELSE " " END) AS "Decom",
        count(`id`) AS "Count"
FROM `devices`
GROUP BY device_type, SUBSTR(`model`, 1, 30), location,
         (CASE WHEN `user_tag` LIKE "%decommissioned%" THEN "X" ELSE " " END)
ORDER BY `device` ASC;

你有一个额外的开场白。但另外,group by子句在用于定义组的列方面与select不匹配。