我有以下SQL查询
SELECT
CASE
WHEN TYPES LIKE '%Linux%' THEN 'LINUX'
WHEN TYPES LIKE '%Windows%' THEN 'WINDOWS'
ELSE 'UNKNOWN'
END AS COMP,
COUNT(*) AS TOTAL
FROM
COMPUTERS.OS
GROUP BY
CASE
WHEN TYPES LIKE '%Linux%' THEN 'LINUX'
WHEN TYPES LIKE '%Windows%' THEN 'WINDOWS'
ELSE 'UNKNOWN'
END
它完美无瑕,但是我需要从另一个表中获取LIKE ... THEN语句的值(Linux,Windows)?我怎样才能做到这一点?
谢谢!
答案 0 :(得分:1)
您可以使用join
:
SELECT ot.comp, COUNT(*) AS TOTAL
FROM COMPUTERS.OS JOIN
OtherTable ot
ON types like ot.pattern
GROUP BY ot.comp;
这假设othertable
有两列,一列是模式,另一列是comp
。