编写SQL查询以从spiceworks中获取设备数量。 我需要获取设备类型,模型,正在使用的数量以及未分配的数量。
目前未分配的任何内容都标记为已停用。 所以我有以下查询
SELECT `device_type` AS "Device",
`model` AS "Model",
SUM (CASE WHEN `user_tag` NOT LIKE "%decommissioned%" THEN 1 ELSE 0 END) AS "Assigned",
SUM (CASE WHEN `user_tag` LIKE "%decommissioned%" THEN 1 ELSE 0 END) AS "Avail."
FROM `devices`
WHERE `auto_tag` LIKE "%LA2%" OR `user_tag` LIKE "%LA2%" OR `location` LIKE "%LA2%"
Group by `device_type`, `model`
EG:如果标记为退役计数为1朝向可用,否则计为1朝向指定。
我当前的问题是第二个SUM操作没有返回任何数据。甚至不是0。 我确定它很简单,但我很遗憾。
提前感谢您的帮助。
答案 0 :(得分:0)
SpiceWorks扼杀了查询的格式。 从列名称周围删除了后面的刻度,用单引号替换了双引号。
按预期工作。
谢谢大家的帮助。
SELECT
device_type
, model
, COUNT(CASE WHEN user_tag NOT LIKE '%decommissioned%' THEN 1 ELSE NULL END) as 'Assigned'
, COUNT(CASE WHEN user_tag LIKE '%decommissioned%' THEN 1 ELSE NULL END) as 'Avail'
, COUNT(*) as 'TotalItems'
FROM devices
WHERE auto_tag LIKE '%LA2%' OR user_tag LIKE '%LA2%' OR location LIKE '%LA2%'
GROUP BY model, device_type
ORDER BY location DESC, device_type ASC