怎样写法比较高效 ?

zjlgigi 2005-10-11 09:09:55
表A
id
1
2
3
4
....

表B
data
1
2
3
...
12

现在我想将表A和表B同时按下面的形式插入到表C中,不知道怎样写SQL语句会比较高效 ?
表C
id data
1 1
1 2
1 3
1 4
..
.......
1 12
2 1
2 2
2 3
.......
如此类推...

thanks !
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxbyhcsdn 2005-10-11
  • 打赏
  • 举报
回复
insert c select A.id,B.data from A,B
就是 insert into c (id,data) select A.id,B.data from A,B
的简写,但是这个必须要后面的Select与前面表的字段对应
zjlgigi 2005-10-11
  • 打赏
  • 举报
回复
ok , 我想通了,谢谢你了!!!
zjlgigi 2005-10-11
  • 打赏
  • 举报
回复
thanks,
关于这条语句 : insert c select A.id,B.data from A,B
还是想得不太明白为什么会这样,那我现在有个问题了 :
要是我想结果变成这样,insert 又要怎样写呢 ?
id data
-----------
1 1
2 1
3 1
4 1
1 2
2 2
...
vivianfdlpw 2005-10-11
  • 打赏
  • 举报
回复
declare @a table(id int)
declare @b table(data int)
insert @a select 1
insert @a select 2
insert @a select 3
insert @a select 4
declare @i int
set @i=1
while @i<=12
begin
insert @b select @i
set @i=@i+1
end

--查询
select A.id,B.data from @a A,@b B order by a.id

--结果
/*

id data
----------- -----------
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
2 12
2 11
2 10
2 9
2 8
2 7
2 6
2 5
2 4
2 3
2 2
2 1
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
3 11
3 12
4 12
4 11
4 10
4 9
4 8
4 7
4 6
4 5
4 4
4 3
4 2
4 1

(所影响的行数为 48 行)
*/
ghxwzh 2005-10-11
  • 打赏
  • 举报
回复
vivianfdlpw() ( ) 信誉:100

的结果对的
QQMagicer 2005-10-11
  • 打赏
  • 举报
回复
insert into c
select '1',A.id
from A
union
select '2',B.data
from B
vivianfdlpw 2005-10-11
  • 打赏
  • 举报
回复
insert c select A.id,B.data from A,B

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧