Sql server 2008 r2 使用SQL语句对数据进行分类以导入数据

Sql server 2008 r2 使用SQL语句对数据进行分类以导入数据,sql-server-2008-r2,Sql Server 2008 R2,这是针对SQL Server 2008 R2的 我有一个表PEOPLE,其中包含NAME和AGE列。我正在将SQL作业导入另一个表LEADS,该表具有相同的列NAME和AGE,并在需要的位置添加一列AGEGROUP 年龄=60岁进入D组 SQL语句会是什么样子 谢谢。这篇插页可以做你想做的事(你的逻辑会错过任何20岁的人,所以我把他们放在A组) 插入潜在客户(姓名、年龄、年龄组) 挑选 名称 岁 案例 当20岁且年龄=40且年龄

这是针对SQL Server 2008 R2的

我有一个表
PEOPLE
,其中包含
NAME
AGE
列。我正在将SQL作业导入另一个表
LEADS
,该表具有相同的列
NAME
AGE
,并在需要的位置添加一列
AGEGROUP

  • 年龄<20岁进入A组
  • 21-39岁进入B组
  • 40-59岁进入C组
  • 年龄>=60岁进入D组
SQL语句会是什么样子


谢谢。

这篇插页可以做你想做的事(你的逻辑会错过任何20岁的人,所以我把他们放在A组)

插入潜在客户(姓名、年龄、年龄组)
挑选
名称
岁
案例
当20岁且年龄<40岁时,则为“B”
当年龄>=40且年龄<60时,则为“C”
当年龄大于等于60岁时,则“D”
以年龄组结束
来自人们

此插入将满足您的要求(您的逻辑将错过任何20岁的人,因此我将他们放入A组)

插入潜在客户(姓名、年龄、年龄组)
挑选
名称
岁
案例
当20岁且年龄<40岁时,则为“B”
当年龄>=40且年龄<60时,则为“C”
当年龄大于等于60岁时,则“D”
以年龄组结束
来自人们
插入潜在客户(姓名、年龄、年龄组)
选择名称
岁
,20岁和<40岁时为“B”
当年龄大于等于40岁且年龄小于60岁时,则为“C”
当年龄大于等于60岁时,则“D”
结束
来自人们
插入潜在客户(姓名、年龄、年龄组)
选择名称
岁
,20岁和<40岁时为“B”
当年龄大于等于40岁且年龄小于60岁时,则为“C”
当年龄大于等于60岁时,则“D”
结束
来自人们

为什么不在表中存储出生日期而不是年龄,以便可以动态计算年龄?下面的任何答案都应该适用于您当前的模型。原因是处理这些数据的工具是一些没有这种能力的遗留工具。谢谢你为什么不在表中存储出生日期而不是年龄,这样你就可以快速计算年龄了?下面的任何答案都应该适用于您当前的模型。原因是处理这些数据的工具是一些没有这种能力的遗留工具。谢谢谢谢白雪公主比你早几秒钟回答!此外,他/她比你的23.6k有289分。非常感谢。白雪公主比你早几秒钟回答!此外,他/她比你的23.6k有289分。谢谢。
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
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