社区
MS-SQL Server
帖子详情
为什么在两张表合并后会出现重复的项目?
1917584
2004-11-12 11:17:57
我有二张表:hhh1,hhh2;
其中表hhh1中有50行
表hhh2中有100行
表hhh2中的型号是含盖表hhh1中的型号。
我想要的结果是:从表hhh2中找到关于“型号”和表hhh1中“型号”相同的行,并把这些相同的行加到表hhh1中。
...全文
221
18
打赏
收藏
为什么在两张表合并后会出现重复的项目?
我有二张表:hhh1,hhh2; 其中表hhh1中有50行 表hhh2中有100行 表hhh2中的型号是含盖表hhh1中的型号。 我想要的结果是:从表hhh2中找到关于“型号”和表hhh1中“型号”相同的行,并把这些相同的行加到表hhh1中。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
元老
2004-11-12
打赏
举报
回复
--备件表中的备份编号不重复的话,这样计算是没有问题的
select 总成本=sum(b.单价*a.数量)
from 外销出库 a,成本 b
where a.备件编号=b.备件编号
and a.出库时间>='2004-10-1' and a.出库时间<'2004-11-1'
1917584
2004-11-12
打赏
举报
回复
我不举例子了,把我的现实表搬过来吧!
表1:外销出库
单据编号 出库时间 备件编号 数量
2004100008 2004-10-1 1106153J01-C120 1.00
2004100008 2004-10-1 1231062J02-C021 1.00
2004100008 2004-10-1 165004M800-C165 1.00
2004100008 2004-10-1 172211E300-B055 1.00
2004100008 2004-10-1 1722651E01-B049 1.00
2004100008 2004-10-1 1724050Y00-C053 1.00
2004100008 2004-10-1 182017N900-B035 1.00
2004100008 2004-10-1 214605E100-A056 1.00
2004100008 2004-10-1 214607N900-A084 1.00
2004100008 2004-10-1 215460E000-B094 1.00
2004100008 2004-10-1 215470E000-B094 1.00
2004100008 2004-10-1 231004N010-B039 1.00
2004100008 2004-10-1 240105E907-B070 1.00
2004100008 2004-10-1 240105E917-B070 1.00
2004100008 2004-10-1 240125E917-B070 1.00
2004100008 2004-10-1 248107N910-A084 1.00
2004100008 2004-10-1 248205E910-A084 1.00
2004100008 2004-10-1 248305E910-A084 1.00
2004100008 2004-10-1 252904M415-B162 1.00
2004100008 2004-10-1 252905E903-B162 1.00
2004100008 2004-10-1 253605M000-B162 1.00
2004100008 2004-10-1 253700M001-B069 1.00
……
……
表2:成本
序号 备件编号 备件名 单价
1 009215352A-999 锁紧销 1.46
2 0128100111-WG 保险杠螺钉卡座 0.45
3 128100601 螺钉座(WG) 0.5
4 0128101081-999 垫圈 2.92
5 0155200043-999 卡扣 2.91
6 0155300731-999 卡扣 2.92
7 0155301781-999 卡扣 1.84
8 0155305351-999 卡扣 2.69
9 0155307921-999 卡扣 3.02
10 0155307981-999 内饰夹 3.02
……
……
表1是我10月外销出库的备件和备件数量(只贴了一部分,关于备件编号在一个月里一种备件肯定不止出库一次,所以备件编号在一个月里有重复)
表2是我所有的备件成本(只贴了一部分,备件编号没有重复的)
我就只一个目的
我10月外销出库的成本是多少?
zjcxc
元老
2004-11-12
打赏
举报
回复
--不过,既然你说有重复的数据,那就说明你的hhh1表中,同一型号有多个价格
--可以这样改(取最小价格):
select b.*,a.价格
from hhh1 a,(select 型号,价格=min(价格) from hhh2 group by 型号)b
where a.型号=b.型号
zjcxc
元老
2004-11-12
打赏
举报
回复
光看你举出的数据,这样就行了.
select b.*,a.价格 from hhh1 a,hhh2 b where a.型号=b.型号
pbsql
2004-11-12
打赏
举报
回复
那不就是这样吗:
select hhh2.日期,hhh2.型号,hhh2.数量,hhh1.价格 from hhh1,hhh2 where hhh1.型号=hhh2.型号
1917584
2004-11-12
打赏
举报
回复
表hhh1
型号 价格
001 2.00
002 1.00
003 1.00
004 1.00
……
表hhh2
日期 型号 数量
0401 003 4
0401 001 1
0402 002 2
0403 001 1
……
我要的是在表hhh2中得到我某种型号的价格???????
还是举个例子直观些!
zjcxc
元老
2004-11-12
打赏
举报
回复
至于插入那个,实在看不明白什么意思? 最好能举个例子说明问题.
zjcxc
元老
2004-11-12
打赏
举报
回复
前面我已经说过了,你两个表的型号均有重复,这样形成的是多对多的关系,自然会重复的
你要插入不重复的,首先就要说明在型号重复的情况下,其他字段的取舍问题.
1917584
2004-11-12
打赏
举报
回复
呵呵!to zjcxc(邹建)
我用
select *
from hhh1,hhh2
where hhh1.型号=hhh2.型号
得到的结果是>50条的,
我要的是以表hhh1和hhh2中的型号为判断标准,把在hhh1中型号相同的一些列加入到表hhh2中。
zjcxc
元老
2004-11-12
打赏
举报
回复
举例说明
1917584
2004-11-12
打赏
举报
回复
是的 关于型号 其中的一个表里有重复的。
zjcxc
元老
2004-11-12
打赏
举报
回复
--要求是否写错了呢? 应该是这样的吧?
--"从表hhh2中找到关于“型号”和表hhh1中“型号”不相同的行,并把这些相同的行加到表hhh1中。"
--如果是这样,就写做:
insert hhh1 select * from hhh2 a
where not exists(select * from hhh1 where 型号=a.型号)
zjcxc
元老
2004-11-12
打赏
举报
回复
楼主的要求和帖子标题有出入:
"从表hhh2中找到关于“型号”和表hhh1中“型号”相同的行,并把这些相同的行加到表hhh1中。"
这个要求不就是把重复的数据加到hhh1中吗?
--这样插入
insert hhh1 select * from hhh2 a where exists(select * from hhh1 where 型号=a.型号)
davorsuker39
2004-11-12
打赏
举报
回复
insert hhh1
select b.* from hhh1 a, hhh2 b where a.型号=b.型号
zjcxc
元老
2004-11-12
打赏
举报
回复
因为两个表中型号都有重复,从而形成多对多的关系,所以就重复了.
sdhdy
2004-11-12
打赏
举报
回复
insert hhh1
select a.* from hhh2 a, hhh1 b where a.型号=b.型号
pbsql
2004-11-12
打赏
举报
回复
是找不同的行吧?相同的还加吗?
相同的行:
select * from hhh2 where 型号 in (select 型号 from hhh1)
不同的行:
select * from hhh2 where 型号 not in (select 型号 from hhh1)
1917584
2004-11-12
打赏
举报
回复
问题以一种烦琐的方式解决,,结贴,谢谢大家。。。
oracle 查询
两张
表
合并
,oracle的多
表
合并
查询-工作心得
刚刚开发需求写了个SQL,记个笔记,学习下关于数据库的多
表
合并
查询的用法select t.* from A tUNION ALL/UNION/Intersect/MINUSselect s.* from B s;UNION ALL使用UNION ALL,
表
示取A、B的合集,不过滤
重复
的数据行...
利用Access实现Excel中多
表
合并
,并删除
重复
数据的问题
office 2007的操作方法: 1.在Access中创建对Excel工作簿的...咱们假设链接
表
为sheet1(
合并
表
1)、sheet2(
合并
表
2)、sheet3(
合并
后数据存放)。注意:必须为每个Excel工作簿
重复
该过程直到将它们都链接到数据库。 2.
MySQL
两张
表
数据
合并
合并
查询MySQL多张
表
数据
合并
两个
表
结构不同且字段为一对多的两个
表
这里是通过关联字段进行
合并
后的数据,此时你会发现数据都
出现
重复
的选项了,如果这个不是你想要的情况 下边看第二种情况: 这个是通过语句进行
合并
,这样数据没有
出现
重复
项,但是在
项目
中这只是一个字符串,转...
表
头顺序不一样的
表
格如何
合并
_不同
表
头的多
表
合并
先来看下这张汇总
表
格有什么地方是值得注意的:列标题与数据是一一对应的,来自哪个
表
的数据就对应行标题来自哪个
表
格列标题汇总了所有的列标题(
项目
名称),避免了
重复
数据填充在相应的单元格,没有数据的地方就留空...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章