有两个表,一个体检套餐表 taocan ,一个体检项目表 xiangmu , 项目表main_id关联套餐表 id, 一个体检套餐对应多个体检项目
现在要查询体检套餐的套餐名称和婚姻状况,套餐的婚姻状况是根据体检项目表来计算的,就是所有体检项目中有一个项目是已婚的那么这个套餐就是已婚的,如果都为未婚的 ,那么这个套餐就是未婚。 (项目表中婚否字段暂且为isM 0表示已婚 1表示未婚)
有两个表,一个体检套餐表 taocan ,一个体检项目表 xiangmu , 项目表main_id关联套餐表 id, 一个体检套餐对应多个体检项目
现在要查询体检套餐的套餐名称和婚姻状况,套餐的婚姻状况是根据体检项目表来计算的,就是所有体检项目中有一个项目是已婚的那么这个套餐就是已婚的,如果都为未婚的 ,那么这个套餐就是未婚。 (项目表中婚否字段暂且为isM 0表示已婚 1表示未婚)
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
可以查到每个套餐的套餐名和婚姻状况。