如何在DB2中使用LIKE运算符和另一个表中的值?

时间:2014-12-14 17:56:54

标签: sql db2

我有以下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)?我怎样才能做到这一点?

谢谢!

1 个答案:

答案 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