我所说的动态数据比较原始表:存货表店铺名 存货 产品类型 统计日期店铺A 200 波导a 2008-1-11
店铺B 200 波导b 2008-1-11
店铺C 200 波导d 2008-1-12
店铺D 200 波导c 2008-1-12
店铺E 200 波导a 2008-1-13
店铺F 200 波导a 2008-1-13
店铺A 200 波导c 2008-1-14
店铺B 200 波导c 2008-1-15
店铺C 200 波导c 2008-1-15
店铺E 200 波导c 2008-1-16
需求:1.通过前台选取店铺及时间段获取存货的对应店傅的总存货Sum(存货)并按时间排序这里如果直接写语句是很简单的@店铺名 varchar(200),
@beginDate datetime,
@endDate datetimeselect sum(存货) as 总存货,店铺 from awhere (店铺名=@店铺名) ---我的问题就在于这里,店铺名不是一个的,而是通过前台选择来获取一个店铺名数组and(统计日期 between @beginDate and @enddate)Gorup by 店铺名,存货
order by 统计日期 asc问题就是:因为SQL不支持数组,我怎么能让这个 店铺名可以实现这样where店铺名=店铺A or 店铺名=店铺B or 店铺名=店铺B
这里关键是:店铺名不定,查询店铺的数量也不定
得到的实际效果应该是:店铺名 2008-1-11 2008-1-12 2008-1-13店铺A 4000 3000 4500
店铺B 0 0 0
请教大家如何可以实现效果呢?在线等待,马上结贴.
店铺B 200 波导b 2008-1-11
店铺C 200 波导d 2008-1-12
店铺D 200 波导c 2008-1-12
店铺E 200 波导a 2008-1-13
店铺F 200 波导a 2008-1-13
店铺A 200 波导c 2008-1-14
店铺B 200 波导c 2008-1-15
店铺C 200 波导c 2008-1-15
店铺E 200 波导c 2008-1-16
需求:1.通过前台选取店铺及时间段获取存货的对应店傅的总存货Sum(存货)并按时间排序这里如果直接写语句是很简单的@店铺名 varchar(200),
@beginDate datetime,
@endDate datetimeselect sum(存货) as 总存货,店铺 from awhere (店铺名=@店铺名) ---我的问题就在于这里,店铺名不是一个的,而是通过前台选择来获取一个店铺名数组and(统计日期 between @beginDate and @enddate)Gorup by 店铺名,存货
order by 统计日期 asc问题就是:因为SQL不支持数组,我怎么能让这个 店铺名可以实现这样where店铺名=店铺A or 店铺名=店铺B or 店铺名=店铺B
这里关键是:店铺名不定,查询店铺的数量也不定
得到的实际效果应该是:店铺名 2008-1-11 2008-1-12 2008-1-13店铺A 4000 3000 4500
店铺B 0 0 0
请教大家如何可以实现效果呢?在线等待,马上结贴.
from ta
where charindex(','+店铺名+',',','+@店铺名+',') > 0
set @店铺名 = '店铺A,店铺B,店铺C'select *
from ta
where charindex(','+店铺名+',',','+@店铺名+',') > 0