有主表A,副表B,主副表是一对多的关系。
请问,
在查询关联信息时,只显示B表第一条符合要求的数据,
且若A表字段Status为1时,B表条件为status为4,否则status不为4.
我在用下述sql查B表符合条件的第一条数据时一直不显示a.status !='1'的数据。
select MIN(b.HeaderId),b.TaskId from TaskHeader b,TaskMain a
where b.TaskId=a.TaskUniqueId and b.Status in( case when a.Status = '1' then '4' else '''0'',''1'',''2'',''3'',''5'',''6''' end ) group by b.TaskId
问题出在in('''0'',''1'',''2'',''3'',''5'',''6''' )
select * from TaskHeader where status in('0','1','2','3','5','6') 能取到数据
或者能有更好的办法达到需求就更好...
感谢..
好复杂
可以分解成视图。逻辑就会很清晰。
感觉不难啊