救命啊~~数据库表的合并问题!!
我有两张表,是主附表关系 现需要把这两张表合并,是一对多的关系
现需要两表合并,最终的结果是一条记录同时包括主表和附表的所有记录
问题点数:100、回复次数:9Top
1 楼wwwwb()回复于 2006-02-09 10:25:25 得分 0
详细一点,将表及要求结果贴出来看看。Top
2 楼gotome(gotome)回复于 2006-02-09 10:33:57 得分 0
比如:
主表: 附表
订单号 客户 订单号 产品
1 2 1 a
1 b
合并为:
订单号 客户 产品 产品
1 2 a b
Top
3 楼wwwwb()回复于 2006-02-09 10:49:46 得分 0
每一个订单只有两个产品?Top
4 楼wwwwb()回复于 2006-02-09 11:04:26 得分 0
如果有多个比较麻烦,TRY:
select * from 主表 a left join
(SELECT [i1], IIf(sum(IIf([i2]='a',1,0))>0,'a',''), IIf(sum(IIf([i2]='b',1,0))>0,'b','')
FROM b3
GROUP BY [i1];
) on a.订单号=b.订单号Top
5 楼wwwwb()回复于 2006-02-09 11:20:01 得分 0
select * from 主表 a left join
(SELECT [订单号], IIf(sum(IIf([产品]='a',1,0))>0,'a',''), IIf(sum(IIf([产品]='b',1,0))>0,'b','') 如果有多个产品,SQL语句会很长
FROM 附表
GROUP BY [订单号];
) on a.订单号=b.订单号
Top
6 楼gotome(gotome)回复于 2006-02-09 12:37:00 得分 0
我需要的就是把附表的所有记录追加到主表,查询后的一条记录包括主表和附表的内容Top
7 楼wwwwb()回复于 2006-02-09 13:19:49 得分 20
没有必要追加,用我的SQL语句即可,如果有多个产品,SQL语句会很长。
Top
8 楼linjimu(沐)回复于 2006-02-09 16:14:06 得分 30
两个表是不是在同一个数据库中呀。
我也遇到过这样的问题。
如果在同一个数据库就比较容易。
参考select into 语句。
insert into C (项目,数值1, ..., 数值12)
select A.项目, A.数值1+B.数值1, ..., A.数值12+B.数值12
from A inner join B on A.项目=B.项目
select A.项目,sum(数值1),...sum(数值12) into C from A,B
where A.项目=B.项目 group by A.项目
Top
9 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-02-09 23:28:06 得分 50
关于此主题请参考:
如何实现行列的转换?有关交叉表的应用《查询》
http://access911.net/index.asp?u1=a&u2=72FAB01E16DCE8F3
Top




