代码之家  ›  专栏  ›  技术社区  ›  DaCard

如何向现有SQL输出中添加列?

  •  2
  • DaCard  · 技术社区  · 4 年前

    我是Transact-SQL新手,假设我有一个SQL表

    SELECT 
        Foods,
        Count(*) as total_count
    FROM [SuperMarket].[dbo].[Grocery]
    GROUP BY Foods
    ORDER BY Foods DESC
    

    输出:

    食品 总数
    3. 27
    2. 35
    1. 109
    0 783

    是否可以在现有sql输出中添加一个额外的列,如下面所示。但是,原始sql数据库中没有“名称”。

    食品 名称 总数
    3. 肉 27
    2. 鱼 35
    1. 水果 109
    0 意大利面食 783

    非常感谢

    1 回复  |  直到 4 年前
        1
  •  2
  •   Zakaria    4 年前

    你可以用 case 声明:

    SELECT 
        Foods,
        CASE
        WHEN FOODS = 3 THEN 'meat'
        WHEN FOODS = 2 THEN 'fish'
        WHEN FOODS = 1 THEN 'fruit'
        WHEN FOODS = 0 THEN 'pasta'
        END as Name,
        Count(*) as total_count
    FROM [SuperMarket].[dbo].[Grocery]
    GROUP BY Foods
    ORDER BY Foods DESC