mdsk.net
当前位置:首页 >> sql2005 怎么查询A表里有而B表里没有的数据 具体语句怎么写 谢谢 >>

sql2005 怎么查询A表里有而B表里没有的数据 具体语句怎么写 谢谢

你好!select * from A where not exists (select 1 from B where A.bid = B.bid)打字不易,采纳哦!

看了上面的回答,基本语句是可以的,但是违反了唯一性约束条件,除了A.URI != B.URI,两张表里的主键是不是有冲突的,如果是的话insert 和 select的时候就把除了有冲突的字段都写上,要一一对应的啊.还有一种做法:既然是给a表做备份,就直接创建一张新表得了,create table a_bak as select a.* from a,b where a.uri != b.uri; 如果想保留a的所有数据的话就把 a.uri != b.uri的条件去掉

没看懂你什么意思,但你写的也不对, UPDATE 的时候条件一定要限制好,要不数据全部更新了. 类似这样的: UPDATE A SET LJCS =(SELECT COUNT(*)FROM B WHERE B.YHKH=A.YHKH) WHERE B.YHKH=A.YHKH

select A.商品id,isnull(A.商品数量-B.已卖数量,0) as 剩余数量from Aleft join(select 商品id,sum(已卖数量) as 已卖数量 group by 商品id)B on A.商品Id=B.商品Id

通过系统表查询: select a.name from syscolumns a inner join sysobjects b on a.id=b.id where b.name='yourtablename' 如果需要更多信息,看看syscolumns和sysobjects这两个系统表的结构

如果没有自增列或是时间戳等版本信息列的话,可以直接用insert A select * from B where xxx如果有这样的列,建议用系统表查询出来并筛除掉,拼接上逗号,显示插入

有两种情况导,看你是符合那种:第一,B表已经存在,就用:insert into Bselect * from A第二,B表不存在,就用(创建表兼导数):select * into B from A

既然你本地数据库已经修改完毕,直接覆盖到服务器上的数据库即可. 如果要实现你本地修改,服务器上实时更新,那就要通过程序来实现了. 但是不建议这样做,毕竟,你要调试程序,不能够保证本地数据库的正确性和合理性.

DELETE FROM A WHERE a1 NOT IN(SELECT b1 FROM B);就可以了,请操作前备份数据,以免上面的语句让你错误的丢失数据!

sqlserver2005在表上按右键,打开表,来编辑,这种情况下的数据默认情况下是全部,不是你想要的结果,你在工具栏上点一个sql的小图标,会变成sql,修改成你的sql,然后执行,在得到的结果上编辑去吧

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com