当前位置:编程学习 > C#/ASP.NET >>

一个小问题,标题说不清,主从表问题吧

请教个问题
来了一车货客户 张三()   这是做入库单据  不是显示
货全是用带子装的 要记录每个带子的重量
输入到最后还可以看到前面输入的明细,还可以修改,你们懂得

A产品  8*8 红色  58KG
A产品  8*8 红色  55KG
A产品  8*8 红色  54KG

B产品  5*8 红色  5KG
B产品  5*8 红色  4KG
B产品  5*8 红色  3KG

单据最终出来的效果是 如下  这样最好
A产品  8*8 红色  58KG
               55KG
               54KG

B产品  5*8 红色  5KG
               4KG
               3KG
winform程序
怎么设计表,界面怎么搞方便?
要一个比较完整的解决方案.谢谢 --------------------编程问答-------------------- 你最好找个进销存,看看

只看你写的,至少涉及到了客户表,货物表,明细表 --------------------编程问答-------------------- 没看懂你是问设计表的问题还是设计界面的问题 --------------------编程问答--------------------

create table #tb(pname varchar(10),psize varchar(10),color varchar(10),weight varchar(10))
insert into #tb
select 'A产品','8*8','红色','58KG'
union all select 'A产品','8*8','红色','55KG'
union all select 'A产品','8*8','红色','54KG'
union all select 'B产品','5*8','红色','5KG'
union all select 'B产品','5*8','红色','4KG'
union all select 'B产品','5*8','红色','3KG'
go

select case when rn=1 then pname else '' end as pname
,case when rn=1 then psize else '' end as psize
,case when rn=1 then color else '' end as color,weight
from 
(
select *,rn=ROW_NUMBER() over(partition by pname,psize,color order by getdate()) from #tb
)t

/*
pname psize color weight
A产品 8*8 红色 58KG
55KG
54KG
B产品 5*8 红色 5KG
4KG
3KG
*/

--------------------编程问答-------------------- 用临时数据,每新增一个,用ViewState存储到web服务器上,下次新增时默认上次的选的名称。
数据一定是完整到数据,只是查询时做一些变化。 --------------------编程问答-------------------- 1、客户表
CID(主键,自动编号),
客户名称,
客户地址,
联系人,
联系电话,
等等
2、货物表
GID(主键,自动编号),
货物名称,
货物规格,
货物颜色,
等等
3、明细表
DID(主键,自动编号),
CID,
GID,
数量,
重量,
等等

至少需要这些吧,

至于界面,需要哪些,就做哪些了。
--------------------编程问答-------------------- 楼上大哥的sql写的很牛XX
期待下位大哥 --------------------编程问答--------------------
引用 5 楼 Imaor 的回复:
1、客户表
CID(主键,自动编号),
客户名称,
客户地址,
联系人,
联系电话,
等等
2、货物表
GID(主键,自动编号),
货物名称,
货物规格,
货物颜色,
等等
3、明细表
DID(主键,自动编号),
CID,
GID,
数量,
重量,
等等

至少需要这些吧,

至于界面,需要哪些,就做哪些了。

大哥的思路不错,能不能把界面的处理问题也说一下
三张表很容易想到,主要是界面怎么输入? --------------------编程问答-------------------- 到底你是要表结构,还是要sql语句呢?

越看越糊涂。

需求不明。期待楼下吧。 --------------------编程问答-------------------- 入库单据嘛,要个完整的解决方案,winform程序
表也要,界面输入也要,
我怕我说的多了,限制了大家的想法,只要你的办法好,我可以改我的表结构,以及界面 --------------------编程问答-------------------- 界面,

增删改查,基本的四项得有吧,汇总的报表也需要吧

--------------------编程问答-------------------- 报表显示到不是问题,界面怎么搞方便输入, --------------------编程问答-------------------- 下班了,晚上帮你看看 --------------------编程问答--------------------
引用 3 楼 hdhai9451 的回复:

create table #tb(pname varchar(10),psize varchar(10),color varchar(10),weight varchar(10))
insert into #tb
select 'A产品','8*8','红色','58KG'
union all select 'A产品','8*8','红色','55KG'
union all select 'A产品','8*8','红色','54KG'
union all select 'B产品','5*8','红色','5KG'
union all select 'B产品','5*8','红色','4KG'
union all select 'B产品','5*8','红色','3KG'
go

select case when rn=1 then pname else '' end as pname
,case when rn=1 then psize else '' end as psize
,case when rn=1 then color else '' end as color,weight
from 
(
select *,rn=ROW_NUMBER() over(partition by pname,psize,color order by getdate()) from #tb
)t

/*
pname psize color weight
A产品 8*8 红色 58KG
55KG
54KG
B产品 5*8 红色 5KG
4KG
3KG
*/

大神逛到这来了 --------------------编程问答-------------------- 我在csdn等你 --------------------编程问答-------------------- 还没到家 --------------------编程问答-------------------- 进销存软件网上很多,
设计 可以参考 http://baike.baidu.com/link?url=px7DHeBvMjHpRyKJUAQ1WjGUfiE8OzGykCtUhSjB2hGJRqqaKIeho72pZqbcey87

界面样式,参考http://baike.baidu.com/picview/677765/677765/0/241f95cad1c8a786a96d273a6509c93d70cf50ba.html#albumindex=0&picindex=0
--------------------编程问答--------------------
引用 9 楼 wmingcsharp 的回复:
入库单据嘛,要个完整的解决方案,winform程序
表也要,界面输入也要,
我怕我说的多了,限制了大家的想法,只要你的办法好,我可以改我的表结构,以及界面


数据都跟你整出来了,界面不就是很简单了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,