社区
MS-SQL Server
帖子详情
求SQL语句
ezones
2004-08-30 10:36:10
有两个表
a(aa,bb)
b(xx,aa,bb)
我想把a表中的所有记录Copy到b表的字段aa和bb,然后在b中的xx上写入每条记录对应的编号
...全文
111
17
打赏
收藏
求SQL语句
有两个表 a(aa,bb) b(xx,aa,bb) 我想把a表中的所有记录Copy到b表的字段aa和bb,然后在b中的xx上写入每条记录对应的编号
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ezones
2004-08-30
打赏
举报
回复
对啊b表没有数据
zjcxc
元老
2004-08-30
打赏
举报
回复
--如果b表已经有数据,现在的编号要从最大的编号+1开始编,则用:
--先插入数据
insert b(xx,aa,bb) select 0,aa,bb from a
--再生成xx
declare @i int
selectt @i=max(xx) from b --这里原来写错了.
update b set @i=@i+1,xx=@i
where xx=0
zjcxc
元老
2004-08-30
打赏
举报
回复
--如果b表的xx是主键/唯一约束,则只有用临时表了
select id=identity(int),aa,bb into #t from a
insert bb(xx,aa,bb) select a.id+b.id,a.aa,a.bb
from #t a,(select id=max(xx) from b)b
drop table #t
老宛
2004-08-30
打赏
举报
回复
to:zilang(随意的风)
我理解的楼主的意思是b表没有数据,如果有数据,楼主应该指明
zjcxc
元老
2004-08-30
打赏
举报
回复
--如果b表已经有数据,现在的编号要从最大的编号+1开始编,则用:
--先插入数据
insert b(xx,aa,bb) select 0,aa,bb from a
--再生成xx
declare @i int
selectt @i=max(xx0 from b
update b set @i=@i+1,xx=@i
where xx=0
zjcxc
元老
2004-08-30
打赏
举报
回复
--b表的xx没有设置主键/唯一约束吧?
--先插入数据
insert b(xx,aa,bb) select 0,aa,bb from a
--再生成xx
declare @i int
set @i=0
update b set @i=@i+1,xx=@i
zilang
2004-08-30
打赏
举报
回复
wanyingsong:
如果#t的编号和b中的编号重复怎么办?
ezones
2004-08-30
打赏
举报
回复
写成存储过程
老宛
2004-08-30
打赏
举报
回复
如果编号是int那就用我3楼的方法,如果编号为字符型,就改一下
select identity(int,1,1) as xx,aa,bb into #t from a
insert into b (xx,aa,bb) select cast(xx as varchar),aa,bb from #t
drop table #t
ezones
2004-08-30
打赏
举报
回复
xx的编号不是自动生成的,
就是说第一条记录就插入编号"1" 第二条记录插入编号"2"
gaodongsheng
2004-08-30
打赏
举报
回复
如果xx不是自动生成的
declare @i int
insert into b(xx,bb,aa) select @i=@i+1,bb,aa from a
LoveSQL
2004-08-30
打赏
举报
回复
在b中的xx上写入每条记录对应的编号?
不知道你的编号有什么规律还是从别的表关联得到,如果是关联得到,可以用update
update b
set xx=..
from b,其他表
where ....
老宛
2004-08-30
打赏
举报
回复
select identity(int,1,1) as xx,aa,bb into #t from a
insert into b (xx,aa,bb) select xx,aa,bb from #t
drop table #t
yesterday2000
2004-08-30
打赏
举报
回复
XX的编号是自动生成的吗?
如果是
insert into b (aa,bb)
select aa,bb from a
老宛
2004-08-30
打赏
举报
回复
select identity(int,1,1) as xx,aa,bb into #t from a
insert into b (xx,aa,bb) select xx,aa,bb from #t
drop table #t
gaodongsheng
2004-08-30
打赏
举报
回复
给分吧
declare @i int
set @i=0
insert into b(xx,aa,bb) select @i=@i+1,aa,bb from a
LoveSQL
2004-08-30
打赏
举报
回复
insert into b(aa,bb) select aa,bb from a
SQL语句
基础教程
SQL语句
基础教程 SQL(Structured Query Language)是一种特殊目的语言,用于管理关系数据库管理系统(RDBMS)。
SQL语句
基础教程旨在帮助新手和需要复习SQL的资料仓储业界老将,学习SQL基础知识和语法。 SQL指令 -...
经典
SQL语句
大全(文档)
经典
SQL语句
大全(文档),绝对实用,都是一些常用的语句,可以帮助你很快找到灵感!
SQL语句
培训文档
SQL语句
培训文档
经典
sql语句
大全(基础篇、提升篇、技巧篇)
经典 SQL 语句大全 本资源为经典 SQL 语句大全,涵盖基础篇、提升篇和技巧篇三个部分,旨在提供全面、系统的 SQL 语句知识。 基础篇 1. 创建数据库:CREATE DATABASE database-name CREATE DATABASE 语句用于...
多种典型T-
SQL语句
、备份、优化、常见问题处理集合包
首先说明这个是收集与csdn 多年来的精华帖 ...包括备份还原,导入导出、行列转换、动态sql基本语法、游标、复制 等等,可以说是丰富多彩、包罗万象。 这里不多在阐述,绝对的物超所值,谁下谁知道。
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章