0

我需要在仅使用 SQLite 创建的报告的列中输出 X。

我需要它来找到一个模式,如果该模式存在该记录输出一个 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 将报告放在一起。它有点限制,但我允许使用它。

在此先感谢您的帮助。

4

1 回答 1

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

于 2014-12-02T02:22:37.160 回答