SELECT' EXIST'或者' NotExist'作为专栏

时间:2014-06-24 06:41:55

标签: sql sql-server tsql sql-server-2012

我有以下SQL,

SELECT SKU FROM Products WHERE SKU IN
(
   'SKU1',
   'SKU2',
   'SKU3',
   'SKU4',
   ......
   ......
   ......

   'SKUN',
)

我需要选择的是

 SKU    Exist
 ----------
 SKU1    Exist
 SKU2    NotExist
 SKU3    NotExist
 ................
 ................
 ................
 SKUN    NotExist

2 个答案:

答案 0 :(得分:5)

WITH SKUs AS (
    SELECT SKU
    FROM (VALUES ('SKU1'),('SKU2'),...) AS T(SKU)
)
SELECT SKUs.SKU
      ,CASE WHEN Products.SKU IS NULL THEN 'NotExists' ELSE 'Exists' END
FROM SKUs
     LEFT JOIN Products
         ON Products.SKU = SKUs.SKU

答案 1 :(得分:2)

SELECT SKU,
    case when p.SKU is null then 'notExists' else 'exists' end [exists?]
FROM (VALUES
   ('SKU1'),
   ('SKU2'),
   ('SKU3'),
   ('SKU4'),
   ......
   ......
   ......

   ('SKUN')
) SKU(SKU)
left outer join Products p on p.SKU = SKU.SKU