使用SQL语句对数据进行分类以导入数据

时间:2014-12-30 02:40:50

标签: sql-server-2008-r2

这适用于SQL Server 2008 R2。

我有一个表PEOPLE,其中包含NAME列和AGE列。我使用SQL作业导入到具有相同列LEADSNAME的另一个表AGE,并使用其他列AGEGROUP我想要的

  • 年龄< 20进入A组
  • 年龄21-39进入B组
  • 年龄40-59进入C组
  • Ages> = 60进入D组

那个SQL语句怎么样?

感谢。

2 个答案:

答案 0 :(得分:2)

这个插入符合你想要的(你的逻辑会遗漏任何20岁的人,所以我把它们放在A组中)

INSERT INTO LEADS (NAME, AGE, AGEGROUP)
SELECT
    NAME
    , AGE
    , CASE 
        WHEN AGE <= 20 THEN 'A'
        WHEN AGE > 20 AND AGE < 40 THEN 'B'
        WHEN AGE >= 40 AND AGE < 60 THEN 'C'
        WHEN AGE >= 60 THEN 'D'
    END AS AGEGROUP         
FROM PEOPLE

答案 1 :(得分:2)

INSERT INTO LEADS (Name , Age , AgeGroup)
SELECT Name 
      ,Age 
      ,CASE WHEN Age <= 20 THEN 'A'
            WHEN Age > 20 AND Ages < 40 THEN 'B'
            WHEN Age >= 40 AND Ages < 60 THEN 'C'
            WHEN Age >=60  THEN 'D'
       END 
FROM People