标题:求助SQL语句的写法-->hangxj转移
只看楼主
PHP
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-5-26
 问题点数:0 回复次数:3 
求助SQL语句的写法-->hangxj转移

我在学习ASP编程过程中遇到一个问题:
在用ASP调用ACCESS库,在数据库中有两个表,简称表1和表2
在表1中与表2中有相同的字段名,如(名称、数量、时间、产地)
两个表的关键字都是(名称+产地),也就是说名称与产地才能唯一的决定一条记录。
我想实现的是:

将表1与表2中(名称和产地)一样的记录在数量上相加,不一样的不相加(注意只有名称和产地一样的记录才视为相同记录,而不一样的记录只是原封不动的插入到第三个表中),然后把这些所有的记录升成第三个表

字段还是取名称、数量、时间、产地,请问这样的SQL语句该怎么写:


请高手指点一下,我想了很久,都无法实现,感激不尽!在线急等。

搜索更多相关主题的帖子: SQL hangxj 语句 
2006-07-14 12:28
jokey
Rank: 1
等 级:新手上路
威 望:1
帖 子:108
专家分:0
注 册:2006-5-23
得分:0 
由于没有装SQL 所以无法测试,只能把我的想法表示出来,你参考一下是否可以.
select 名称,sum(数量) as 数量,时间,产地 from (select * from table1 union select * from table2) aaa group by 名称,产地,时间 into table3

我的思路是先把table1和table2的记录union在一起为一记录集aaa ,然后就对这个aaa进行操作(数量相加等)

猪猪最可爱了,我选择我猪猪.
2006-07-14 15:15
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
得分:0 
数量可以相加,时间也相加??

2006-07-15 00:01
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
得分:0 

--先忽略时间字段问题,给你写个样例

--测试环境
declare @table1 table
(
id1 int,
id2 int,
amount int
)
insert into @table1
select 1,1,3 union all
select 1,2,4 union all
select 1,3,1 union all
select 2,1,8 union all
select 2,2,5

declare @table2 table
(
id1 int,
id2 int,
amount int
)
insert into @table2
select 1,1,3 union all
select 1,2,4 union all
select 1,4,9 union all
select 2,1,3 union all
select 2,3,10

--检测测试环境
select * from @table1
select * from @table2

--查询
select
isnull(a.id1,b.id1) as id1,
isnull(a.id2,b.id2) as id2,
isnull(a.amount,0)+isnull(b.amount,0) as TotalAmount
from
@table1 a full join @table2 b
on
a.id1=b.id1
and a.id2=b.id2
order by id1,id2

/*
id1 id2 amount
----------- ----------- -----------
1 1 3
1 2 4
1 3 1
2 1 8
2 2 5

id1 id2 amount
----------- ----------- -----------
1 1 3
1 2 4
1 4 9
2 1 3
2 3 10

查询结果如下,自行校验
id1 id2 TotalAmount
----------- ----------- -----------
1 1 6
1 2 8
1 3 1
1 4 9
2 1 11
2 2 5
2 3 10
*/


2006-07-15 00:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-78291-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071492 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved