select case truck.TransStatus
when 'OnWay' then (select app.Lng,app.lat from Mem_TrackApp app)
else (select c.AreaFrom,c.AreaTo from CargoSource c ) end
from Mem_Truck truck
如上主表是 Mem_Truck 我想根据 Mem_Truck 的TransStatus的值来确定我要查询CargoSource还是 Mem_TrackApp。注意看,关联表的不一样返回的列值也不一样。这里TransStatus 有'OnWay'和'Other'两个值,不是很熟悉sql 跪求帮助。网上的帖子基本都是选择用case when。但是case..when 貌似返回的是目标列相同。与我的业务逻辑不相符。
when 'OnWay' then (select app.Lng,app.lat from Mem_TrackApp app)
else (select c.AreaFrom,c.AreaTo from CargoSource c ) end
from Mem_Truck truck
如上主表是 Mem_Truck 我想根据 Mem_Truck 的TransStatus的值来确定我要查询CargoSource还是 Mem_TrackApp。注意看,关联表的不一样返回的列值也不一样。这里TransStatus 有'OnWay'和'Other'两个值,不是很熟悉sql 跪求帮助。网上的帖子基本都是选择用case when。但是case..when 貌似返回的是目标列相同。与我的业务逻辑不相符。
楼主遇到的业务逻辑到底哪儿不同?建议详细描述一下。
楼主遇到的业务逻辑到底哪儿不同?建议详细描述一下。 sorry是mysql 。你发的这个帖子我看过,我的理解是它主表选择去关联的两个从表,不管选择哪一个表去关联返回的列值都一致,而且返回是一列。我现在的业务需求是选择关联的表不一致,返回的字段也不一致,so...