m0_73541421 2022-09-02 21:54 采纳率: 100%
浏览 92
已结题

求一Sql sever代码

img

求sql代码 图中A列相同值,求每组相同值对应的B列至少包含红色部分内容,缺少的被显示出。需要对每一条代码进行说明注释。

  • 写回答

2条回答 默认 最新

  • 爱吃苦瓜的猿 2022-09-04 10:36
    关注

    通过group by + case when 的方式就可以判断

    select [纳税人名称]
    from
    (
        select [纳税人名称],
            -- 计算是否有承揽合同这一列
            max(case when [征收品目]="承揽合同" then 1 else 0 end) as has_chenglanhuoduo,
            -- 计算是否有买卖合同这一列
            max(case when [征收品目]="买卖合同" then 1 else 0 end) as has_maimaihuoduo,
            -- 计算是否有买运输合同这一列
            max(case when [征收品目]="运输合同" then 1 else 0 end) as has_yunshuhuoduo,
            -- 计算是否有租赁合同这一列
            max(case when [征收品目]="租赁合同" then 1 else 0 end) as has_zulinhuoduo,
            -- 计算是否有包管合同这一列
            max(case when [征收品目]="包管合同" then 1 else 0 end) as has_baoguanhuoduo,
            -- 计算是否有仓储合同这一列
            max(case when [征收品目]="仓储合同" then 1 else 0 end) as has_cangchuhuoduo,
            -- 计算是否有营业帐簿这一列
            max(case when [征收品目]="营业帐簿" then 1 else 0 end) as has_yingyezhangbo
        from t
        group by [纳税人名称]
    ) t
    where has_chenglanhuoduo=1
    and has_maimaihuoduo=1
    and has_yunshuhuoduo=1
    and has_zulinhuoduo=1
    and has_baoguanhuoduo=1
    and has_cangchuhuoduo=1
    and has_yingyezhangbo=1
    ;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月12日
  • 已采纳回答 9月4日
  • 创建了问题 9月2日