我想查询出来CabinTypes.ID等于1、2、3时的值,但是连接查询貌似写的不太对,单独查一个是没问题的,三个一起就是不对的了,有点不知道怎么改,求指点。
select Amen1.Service as Economy,Amen2.Service as Business,Amen3.Service as FirstClass From Tickets inner join CabinTypes on Tickets.CabinTypeID =CabinTypes.ID inner join AmenitiesCabinType on CabinTypes.ID =AmenitiesCabinType.CabinTypeID inner join Amenities as Amen1 on AmenitiesCabinType.AmenityID=Amen1.ID and CabinTypes.ID=1 inner join Amenities as Amen2 on AmenitiesCabinType.AmenityID=Amen2.ID and CabinTypes.ID=2 inner join Amenities as Amen3 on AmenitiesCabinType.AmenityID=Amen3.ID and CabinTypes.ID=3
关系图如下
这么写是为了什么?
我想获取在CabinTypes.ID 的值为1.2.3的时候Amenities表的Service字段,我把那个关系图贴上来吧
@柳芽:
select a.Service From Amenities a inner join AmenitiesCabinType b on
b.AmenitiesID=a.ID where b.CabinTypeID in (1,2,3)
查那个表的字段那个表就作为主表
如果我想得到的数据是三个啊,比如对应id为1时我查到的数据为普通,2中等,3高级分别查出来,这段代码查的是混合在一起的<br/>来自 Cnblogs For Xamarin
@柳芽:
select case b.CabinTypeID when 1 then a.Service end a,case b.CabinTypeID when 2 then a.Service end b,case b.CabinTypeID when 3 then a.Service end c From Amenities a inner join AmenitiesCabinType b on
b.AmenitiesID=a.ID where b.CabinTypeID in (1,2,3)
是你想要的效果吗
@求知若饥,虚心若愚: 我的需求是查询一定时间内预定飞机便利服务(Amenities.Service)的总个数,j机舱类型(CabinType)普通舱,商务舱,头等舱预定的服务分开显示。于是我想的是,我一次查出来某个日期的 三种仓的 各自的服务名称,统计个数自己额外做,我用你的代码测试了,查出来的虽然是三种,但是明显查到的服务数量不太对,我道行太浅也找不出哪里不对劲😄
@柳芽: 那你加时间条件了吗?
@求知若饥,虚心若愚: 算了,我把问题丢给老师解决吧,不过还是谢谢你
你要说出需求啊,都不知道你想干嘛
– 求知若饥,虚心若愚 6年前