把B表的A列每行,ppt插入视频到A表的D列每行中,如图

sql中把数据库A中a表a列的数据插入到数据库b中b表b列的sql语句怎么写_百度知道
sql中把数据库A中a表a列的数据插入到数据库b中b表b列的sql语句怎么写
sql中把数据库A中a表a列的数据插入到数据库b中b表b列的sql语句怎么写?如题~A数据库和B数据库在同一台机器上
提问者采纳
--==========同一服务器上跨数据库数据拷贝========== SET IDENTITY_INSERT news ON
insert into [p35cn11-10].dbo.news(newsid,title,content,typeid,nfrom,dateandtime,hits,power,keywords,enabled,uploadfiles) select id,tit,content,ctype,comefrom,adtime,visitnum,power,keywords,enabled,uploadfiles from [p35cn3_26].dbo.Article
insert into b(a, b, c) select d,e,
SET IDENTITY_INSERT news OFF
提问者评价
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一个数据表与另一个数据表关联,A表输入的数据都是有代码开头对应B里的代码,而且 B表里的代码是按序排列。A表B表代码识别并关联,当要插入新的代码时B表自动更新并插入到相应的位置去,有人知道如何做到吗?
一个数据表与另一个数据表关联,A表输入的数据都是有代码开头对应B里的代码,而且 B表里的代码是按序排列。A表B表代码识别并关联,当要插入新的代码时B表自动更新并插入到相应的位置去,有人知道如何做到吗? 300
不区分大小写匿名
等待您来回答
软件领域专家本帖最后由 youlong8508 于
12:26 编辑
总共有4个表,即变量表(B表)、数据表(A表)、判断表(C表)、结果表(D表)。变量表中的数据会手动输入进行变化,数据表中的数据固定不变,判断表是数据表中的数据逐行和变量表中的每一行进行经过逻辑判断后的比较,结果表是将判断表判断出的满足条件的结果输出(即符合要求的判断结果数据和当前进行判断的数据表的那一行)。
现在的问题是怎样能够自动的使数据表(A表)的每一行和变量表的(B表)每一行进行比较,从而将结果输出到结果表中。
这是附件,进去一看就明白了
(20.22 KB, 下载次数: 3)
09:23 上传
下载次数: 3
这是结果图
12:26 上传
12:26 上传
12:26 上传
其实问题就是个筛选的问题,只要将数据表(462行)中的可用数据筛选出来就行。
而判断的依据就是判断表中的“最终判断”(=IF(SUM(J4:J48)=45,45,MATCH(0,J4:J48,0)-1))这个值(判断表只是将数据表中的行与变量表的45行进行了比较),只要这个值大于等于15,那么数据表中的这一行就是可用的。最后就是将这个数据表中的这一行的“最终判断”的值和这一行输出到结果表中。
在线时间2538 小时经验8164 威望4 性别男最后登录注册时间阅读权限95UID188110积分8264帖子精华0分享0
积分排行97帖子精华0微积分0
Sub test()
&&Dim r%, i%
&&Dim arr, brr, crr()
&&Dim d As New Dictionary
&&With Worksheets(&变量表&)
& & r = .Cells(.Rows.Count, 1).End(xlUp).Row
& & arr = .Range(&b2:f& & r)
&&End With
&&ReDim crr(1 To UBound(arr), 1 To 2)
&&With Worksheets(&数据表&)
& & r = .Cells(.Rows.Count, 1).End(xlUp).Row
& & brr = .Range(&b2:g& & r)
& & For i = 1 To Application.Min(UBound(arr), UBound(brr))
& && &d.RemoveAll
& && &For j = 1 To UBound(arr, 2)
& && &&&d(arr(i, j)) = &&
& && &Next
& && &n = 0
& && &s = 0
& && &ss = &&
& && &For j = 1 To UBound(brr, 2) Step 2
& && &&&ss = ss & &,& & brr(i, j) & &,& & brr(i, j + 1)
& && &&&If d.Exists(brr(i, j)) Or d.Exists(brr(i, j + 1)) Then
& && && & n = 1
& && &&&End If
& && &&&s = s + n
& && &Next
& && &If s = 3 Then
& && &&&crr(i, 2) = Mid(ss, 2)
& && &Else
& && &&&crr(i, 1) = Mid(ss, 2)
& && &End If
& & Next
&&End With
&&With Worksheets(&结果表&)
& & .Range(&b4&).Resize(UBound(crr), UBound(crr, 2)) = crr
&&End With
End Sub复制代码
在线时间2538 小时经验8164 威望4 性别男最后登录注册时间阅读权限95UID188110积分8264帖子精华0分享0
积分排行97帖子精华0微积分0
不是很明白楼主的意思,不一定正确。
09:43 上传
下载次数: 2
23.28 KB, 下载次数: 2
在线时间16 小时经验58 威望0 性别保密最后登录注册时间阅读权限20UID2938115积分58帖子精华0分享0
EH初级, 积分 58, 距离下一级还需 292 积分
积分排行3000+帖子精华0微积分0
chxw68 发表于
不是很明白楼主的意思,不一定正确。
感谢您的回答,在结果表中“对应的结果”那里显示的是此事在判断表中的判断结果(我用的逻辑判断,只要大于15就显示此时的结果,否则就显示不可用),“筛选出的可用组合”那里显示的是满足条件的此时数据表中的那行数据。
麻烦您再给看看,不胜感激!
&纯粹不明白意思!哪里来的15呢?&
在线时间16 小时经验58 威望0 性别保密最后登录注册时间阅读权限20UID2938115积分58帖子精华0分享0
EH初级, 积分 58, 距离下一级还需 292 积分
积分排行3000+帖子精华0微积分0
youlong8508 发表于
感谢您的回答,在结果表中“对应的结果”那里显示的是此事在判断表中的判断结果(我用的逻辑判断,只要大 ...
15只是一个逻辑判断而已,就是对可用数据的判断
&什么大于15?&
在线时间16 小时经验58 威望0 性别保密最后登录注册时间阅读权限20UID2938115积分58帖子精华0分享0
EH初级, 积分 58, 距离下一级还需 292 积分
积分排行3000+帖子精华0微积分0
youlong8508 发表于
15只是一个逻辑判断而已,就是对可用数据的判断
10:25 上传
=IF(SUM(J4:J48)=45,45,MATCH(0,J4:J48,0)-1)
函数是这样的,就是说对逻辑判断的结果进行统计,若出现0,则将出现1的此时统计出来,比如:(1,1,1,0)则,结果为3,(1,0,1,0)则,结果为1,(0,0,1,0)则,结果为0,,(1,1,1,1)则,结果为4。我是对45行的进行判断,若出现45个1,则结果是45,否则用MATCH(0,J4:J48,0)-1)进行统计,将45行的数据统计出来。
在线时间16 小时经验58 威望0 性别保密最后登录注册时间阅读权限20UID2938115积分58帖子精华0分享0
EH初级, 积分 58, 距离下一级还需 292 积分
积分排行3000+帖子精华0微积分0
有朋友这样做,但是他搞反了
在“结果表”A2单元格输入公式:=INDEX(数据表!A:A,SMALL(IF(判断表!$J$4:$J$48=1,ROW($1:$45),999),ROW(A1))+1)&&&公式以CTRL+SHIFT+ENTER三键结束。将公式向右复制到F列,再将整行公式向下复制,直到出现空白为止。
注:这里的数据表就是现在的变量表。得出的结果是筛选出了变量表里面的行。
在线时间5903 小时经验29913 威望11 最后登录注册时间阅读权限100UID646032积分30663帖子精华2分享0
管理以下版块
积分排行6帖子精华2微积分0
只比较到第45行?Private Declare Sub Sleep Lib &Kernel32& (ByVal dwMilliseconds As Long)
Sub lqxs()
Dim Arr, i&, Myr&, n&, j&, h, Brr
Application.ScreenUpdating = False
Sheet3.Activate
Myr = Sheet2.Cells(Sheet2.Rows.Count, 1).End(xlUp).Row
Arr = Sheet2.Range(&b2:g& & Myr): n = 3
For i = 1 To UBound(Arr)
& & [b4].Resize(1, 6) = Application.Index(Arr, i, 0)
& & Sleep 1000
& & n = n + 1: If n & 48 Then GoTo 100
& & h = Application.Sum([j4:j48])
& & Brr = [j4:j48]
& & If h &= 45 Then
& && &&&Cells(n, 11) = 45
& & Else
& && &&&For j = 1 To UBound(Brr)
& && && && &If Brr(j, 1) = 0 Then Cells(n, 11) = j - 1: Exit For
& && &&&Next
& & End If
& & If Cells(n, 11) &= 15 Then
& && &&&Sheet4.Cells(n - 1, 2) = Cells(n, 11).Value
& && &&&Sheet4.Cells(n - 1, 3) = Join([b4:g4], &,&)
& & Else
& && &&&Sheet4.Cells(n - 1, 2) = &不可用&
& && &&&Sheet4.Cells(n - 1, 3) = &不可用&
& & End If
Next
100:
Application.ScreenUpdating = False
MsgBox &OK&
End Sub复制代码
在线时间16 小时经验58 威望0 性别保密最后登录注册时间阅读权限20UID2938115积分58帖子精华0分享0
EH初级, 积分 58, 距离下一级还需 292 积分
积分排行3000+帖子精华0微积分0
本帖最后由 youlong8508 于
11:17 编辑
蓝桥玄霜 发表于
只比较到第45行?
若是可用的要将此时的判断结果输出的
麻烦您做好附件我下载好吗,我不太会用代码
在线时间16 小时经验58 威望0 性别保密最后登录注册时间阅读权限20UID2938115积分58帖子精华0分享0
EH初级, 积分 58, 距离下一级还需 292 积分
积分排行3000+帖子精华0微积分0
蓝桥玄霜 发表于
只比较到第45行?
哦,还有个问题,是数据表中的所有行462行和变量表中的45行进行比较,也就是说要将462行中的可用行筛选出来。若是可用的要将此时的判断结果输出的
麻烦您再给看看,最好做好附件直接下载,感激不尽!
最佳会员奖章No.1
优秀会员奖章No.1
积分≥4700即可申请
- 注意:自起,未完成邮箱认证的会员将无法发帖!如何完成邮箱认证?请点击下方“查看”。
关注我们,与您相约微信公众平台!
Copyright 1999 - 2017 Excel Home. All Rights Reserved.本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
Powered by
本站特聘法律顾问:徐怀玉律师 李志群律师 &&excel 中,如果A表中B行C列的数据等于B表中D行C列的数据,则将B表中D行E列的数据复制到A表中B行E列_百度知道
excel 中,如果A表中B行C列的数据等于B表中D行C列的数据,则将B表中D行E列的数据复制到A表中B行E列
该用什么公式?
不行,你这个只能判断AB两表中同一行数据,我想知道的是B表和A表的列数相同但行数不同的情况下,如何将B表中的该行另一列中的数据复制到A表中的指定列,比如,A表中1行C列的数据等于B表中5行C列的数据,则将B表中5行D列的数据复制到A表中的1行D列。
提问者采纳
在A表B行E列输入=if(cb=B!CD,B!ED,&&)
其他类似问题
excel的相关知识
其他1条回答
=VLOOKUP(C1,B!C:D,2,0)
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁--DECLARE& &&/*=================================================================================================================*/&&/*链接服务器的自定义虚拟名*/&&declare @linkedservervrName nvarchar(1000)&&set @linkedservervrName='DB_LinkedServer'&&/*链接服务器*/&&exec sp_addlinkedserver @linkedservervrName,'ms','SQLOLEDB','服务器名称' &&/*映射链接服务器的登陆映射*/&&exec sp_addlinkedsrvlogin @linkedservervrName,'false',null,'sa','密码'
/*=================================================================================================================*/&&/*链接服务器(即:中间库)是否成功*/ &&BEGIN TRY&&&& EXEC sp_testlinkedserver& @linkedservervrName &&&& --写入日志&&&& set @strLogMessage='['+CONVERT(varchar(100), GETDATE(), 120) +']'+'中间库连接成功'&&&& insert into [SH_ReceivableSystem_Log_all] values(@strLogMessage)&&& &&END TRY&&BEGIN CATCH&&&--写入日志&&&& set @strLogMessage='['+CONVERT(varchar(100), GETDATE(), 120) +']'+'中间库连接失败:'&&&& insert into [SH_ReceivableSystem_Log_all] values(@strLogMessage+ERROR_MESSAGE())&&& &&&/*删除:映射链接服务器的登陆映射*/&&&EXEC sp_droplinkedsrvlogin @linkedservervrName, NULL; &&& &&&/*删除:链接服务器*/&&&exec sp_dropserver @linkedservervrName,&&&& /*返回日志信息*/&&&select * from [SH_ReceivableSystem_Log_all]&&& /*停止*/&&& &&&&&&&& &&END CATCH;
BEGIN TRY&& &exec sp_configure 'show advanced options',1& &&&reconfigure& &&&exec sp_configure 'Ad Hoc Distributed Queries',1& &&&reconfigure& &&&select * from openrowset('SQLNCLI','Server=服务器名称(IP);PWD=密码;UID=','select * from 数据库B.dbo.表B')&&&--写入日志&&&&&DECLARE @ekkoXMLDoc int &&&&&EXEC sp_xml_preparedocument @ekkoXMLDoc OUTPUT, @xmlinfo&& --通过xml解析数据可以大批量插入数据&&&&&INSERT INTO& [dbo.表B]([销售单据号],[发票类型],[税率],[客户名称],[商品编码],[商品名称],[含税金额],&& --插入数据&&&&&[规格型号],[计量单位],[销售数量],[备注])&&&&&SELECT MainID,fapiaoType,Taxrate,customName,kaiPiaoCode,kaPiaoName,kaiPiaoMoney,guigeXinghao,jiliangDanWei,saleCount,RemarkAll&&&&&FROM OPENXML(@ekkoXMLDoc, '/root/record',2)&&&&&WITH&&&&&(&&&&&&MainID VARCHAR(50),&&&&&&fapiaoType VARCHAR(50),&&&&&&Taxrate& numeric(14, 2),&&&&&&customName VARCHAR(50),&&&&&&kaiPiaoCode VARCHAR(50),&&&&&&kaPiaoName VARCHAR(50),&&&&&&kaiPiaoMoney numeric(14, 2),&&&&&&guigeXinghao VARCHAR(50),&&&&&&jiliangDanWei VARCHAR(50),&&&&&&saleCount numeric(14, 2),&&&&&&RemarkAll VARCHAR(50)&&&&&)&&&&&EXEC sp_xml_removedocument @ekkoXMLDoc&&&&insert openrowset('SQLNCLI','Server=服务器名称(IP);PWD=密码;UID=','select * from 数据库B.dbo.表B')& select *from&表A&&&& set @strLogMessage='['+CONVERT(varchar(100), GETDATE(), 120) +']向中间库&表插入信息,成功。'&&&& insert into [SH_ReceivableSystem_Log_all] values(@strLogMessage)& &&&& /*删除:映射链接服务器的登陆映射*/&&&EXEC sp_droplinkedsrvlogin @linkedservervrName, NULL; &&& &&&/*删除:链接服务器*/&&&exec sp_dropserver @linkedservervrName,&&&&& &&END TRY
1、从数据库A表A数据连接到数据库B表B时,数据库连接必须能正常连接通畅,否则在执行时无法正常通过
2、如果在执行时报&SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。&
就单独执行:exec&sp_configure&'show&advanced&options',1&&
阅读(...) 评论()}

我要回帖

更多关于 行中中学 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信