棘手伤脑,高分求助!!!

fanslion 2009-04-14 02:57:45
一张分店表branch,有字段branchname(分店名)
一张订单表orderlist,有字段foodname(食品名),branchname(分店名),sunlist(订单数量)

现有效果:
食品 分店1 分店2 分店3 ……
鸡蛋 5 0 0 ……
鸭蛋 10 5 0 ……

分店名是从branch表里获得的,要会动态变动
我用
BoundField field = new BoundField();
field.DataField = "sumlist";
field.HeaderText = "branchname";
this.GridView1.Columns.Add(field);
添加了分店名为字段

食品名是从订单表中查询出订单数量其中一项食品大于0的食品
分店订了该食品就显示数字,没有订就显示0

但字段分店邦定的是查询列,所以想得出以上效果
请高手不惜帮忙
...全文
121 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
AuC 2009-04-15
  • 打赏
  • 举报
回复
这个最主要的是SQL问题
不知道楼主的SQL水平怎样
只要把SQL语句写好了,到页面上就不难了
fanslion 2009-04-15
  • 打赏
  • 举报
回复
who can help me
叶子 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fanslion 的回复:]
非常感谢 哈尔滨☆叶子

还想问一下
现在我有60间分店,有150种食品
那样查询不是很麻烦
[/Quote]

不麻烦,我5楼代码是动态的,分店多点不怕,不用一个一个写。
fanslion 2009-04-15
  • 打赏
  • 举报
回复
非常感谢 哈尔滨☆叶子
rophle 2009-04-14
  • 打赏
  • 举报
回复
dddddddddddd
fanslion 2009-04-14
  • 打赏
  • 举报
回复
没人了??

都下班了??
fanslion 2009-04-14
  • 打赏
  • 举报
回复
因为每次分店订的食品和数量是不一样
fanslion 2009-04-14
  • 打赏
  • 举报
回复
非常感谢 哈尔滨☆叶子

还想问一下
现在我有60间分店,有150种食品
那样查询不是很麻烦
叶子 2009-04-14
  • 打赏
  • 举报
回复


--动态维护分店,当分店增加的话,自动统计

--分店表
declare @branch table (branchname varchar(5))
insert into @branch
select '分店1' union all
select '分店2' union all
select '分店3' union all
select '分店4'

--统计数据
declare @sql varchar(8000)
set @sql = 'declare @orderlist table (foodname varchar(4),branchname varchar(5),sunlist int)
insert into @orderlist
select ''鸡蛋'',''分店1'',5 union all
select ''鸭蛋'',''分店1'',10 union all
select ''鸭蛋'',''分店2'',5;
select foodname as 食物'
select @sql = @sql + ' , max(case branchname when ''' + branchname+ ''' then sunlist else 0 end) [' + branchname+ ']'
from (select distinct branchname from @branch) as a
set @sql = @sql + ' from @orderlist group by foodname'
exec(@sql)


/*
食物 分店1 分店2 分店3 分店4
---- ----------- ----------- ----------- -----------
鸡蛋 5 0 0 0
鸭蛋 10 5 0 0
*/
叶子 2009-04-14
  • 打赏
  • 举报
回复

--食物表
declare @food table (foodname varchar(5))
insert into @food
select '鸡蛋' union all
select '鸭蛋'

select * from @food

--分店表
declare @branch table (branchname varchar(5))
insert into @branch
select '分店1' union all
select '分店2' union all
select '分店3'

select * from @branch

--统计数据
declare @orderlist table (foodname varchar(4),branchname varchar(5),sunlist int)
insert into @orderlist
select '鸡蛋','分店1',5 union all
select '鸭蛋','分店1',10 union all
select '鸭蛋','分店2',5

select foodname as 食品,
max(case branchname when '分店1' then sunlist else 0 end) 分店1,
max(case branchname when '分店2' then sunlist else 0 end) 分店2,
max(case branchname when '分店3' then sunlist else 0 end) 分店3
from @orderlist
group by foodname

/*统计结果
食品 分店1 分店2 分店3
---- ----------- ----------- -----------
鸡蛋 5 0 0
鸭蛋 10 5 0
*/

叶子 2009-04-14
  • 打赏
  • 举报
回复

declare @orderlist table (foodname varchar(4),branchname varchar(5),sunlist int)
insert into @orderlist
select '鸡蛋','分店1',5 union all
select '鸭蛋','分店1',10 union all
select '鸭蛋','分店2',5

select foodname as 食品,
max(case branchname when '分店1' then sunlist else 0 end) 分店1,
max(case branchname when '分店2' then sunlist else 0 end) 分店2,
max(case branchname when '分店3' then sunlist else 0 end) 分店3
from @orderlist
group by foodname
/*
食品 分店1 分店2 分店3
---- ----------- ----------- -----------
鸡蛋 5 0 0
鸭蛋 10 5 0
*/
fanslion 2009-04-14
  • 打赏
  • 举报
回复
以branch(分店表)的分店名为字段
以orderlist(订单表)的食品为主键

我觉得是个二维表,又像九九乘法表的做法
但分店名要邦定的是一列(订单数量)

所以不知道要怎样邦定这个订单数量
cyz9977 2009-04-14
  • 打赏
  • 举报
回复
看不懂~·

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧