我需要在使用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将报告放在一起。它有点限制,但它可以用于此。
提前感谢您的帮助。
答案 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
不匹配。