哈哈哈123457 2019-03-12 10:30 采纳率: 86%
浏览 376
已采纳

一个案例 sql语句不会写 来问问大神

有两个表,一个体检套餐表 taocan ,一个体检项目表 xiangmu , 项目表main_id关联套餐表 id,  一个体检套餐对应多个体检项目

现在要查询体检套餐的套餐名称和婚姻状况,套餐的婚姻状况是根据体检项目表来计算的,就是所有体检项目中有一个项目是已婚的那么这个套餐就是已婚的,如果都为未婚的 ,那么这个套餐就是未婚。 (项目表中婚否字段暂且为isM  0表示已婚 1表示未婚)

  • 写回答

4条回答 默认 最新

  • xinfo1552 2019-03-12 11:05
    关注

    select taocan.name as '套餐名', case when xm.isM is null then '未婚' else '已婚' end as '婚姻状况'
    from taocan
    left join (
    select top 1 main_id,isM from
    xiangmu where xiangmu.main_id = taocan.id and xiangmu.isM=0
    ) xm on xm.main_id = taocan.id

    可以查到每个套餐的套餐名和婚姻状况。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?