Insert Into Select的问题

zhousq00 2010-04-24 10:29:29
现在需要一条语句,需求:
插入一条记录到TB1(Id,name,age,add,city,state)
其中name,age从TB2(ID,C_ID,name,age,submittime)中来(条件C_ID=20)
其中add,city从TB3(ID,C_ID,add,city,submittime)中来(条件C_ID=20)
State=0
请问这条语句要怎么写啊?
...全文
104 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhousq00 2010-04-24
  • 打赏
  • 举报
回复
哦,还是没说明白
C_ID是外键,正常情况下TB2,TB3的即State=0(在两个表中没标出来)的C_id只有一条记录
百年树人 2010-04-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhousq00 的回复:]
哦,不好意思,ID是自增的
谢谢各位了,学习了,再增加一点语句难度
如果TB2和TB3不关联,即TB2.C_ID=20 And TB3.C_ID=40语句该怎么写呢?
[/Quote]

两个不关联的记录你要怎么对应呢?
比如 tb2表有a,b值,tb3表有c,d值
你取的是
a c
a d
b c
b d
全部吗?还是其中一部分
zhousq00 2010-04-24
  • 打赏
  • 举报
回复
哦,不好意思,ID是自增的
谢谢各位了,学习了,再增加一点语句难度
如果TB2和TB3不关联,即TB2.C_ID=20 And TB3.C_ID=40语句该怎么写呢?
Me_online 2010-04-24
  • 打赏
  • 举报
回复
INSERT INTO TB1(....)
SELECT TB2.Name,TB2.Age,TB3.Add,TB3.City FROM TB2 INNER JOIN TB3 ON TB2.ID=TB3.ID AND TB2.C_ID=20 AND TB3.C_ID=20
feixianxxx 2010-04-24
  • 打赏
  • 举报
回复
我都没想到是否自增
学习楼上2位
dawugui 2010-04-24
  • 打赏
  • 举报
回复
如果tb1的ID是自增列吗?
insert into TB1(name,age,add,city,state)
select m.name,m.age,n.add,n.city,State=0 from tb2 m , tb3 n where m.c_id = n.c_id and m.c_id = 20


如果tb1的ID不是自增列,自己带入一个固定值,例如:
insert into TB1
select 某固定值,m.name,m.age,n.add,n.city,State=0 from tb2 m , tb3 n where m.c_id = n.c_id and m.c_id = 20


dawugui 2010-04-24
  • 打赏
  • 举报
回复
tb1的ID是自增列吗?
insert into TB1(name,age,add,city,state)
select m.name,m.age,n.add,n.city,State=0 from tb2 m , tb3 n where m.c_id = n.c_id and m.c_id = 20
百年树人 2010-04-24
  • 打赏
  • 举报
回复
id是子增列吗? try
insert TB1(name,age,add,city,state)
select a.name,a.age,b.add,b.city,0
from tb2 a
join tb3 b on a.c_id=b.c_id
where a.c_id=20
feixianxxx 2010-04-24
  • 打赏
  • 举报
回复
insert TB1(Id,name,age,[add],city,[state])
select name ,age,[add],city,[state]=0
from TB2 JOIN TB3 ON TB2.c_id=TB3.C_ID
WHERE TB2.C_ID=20

34,594

社区成员

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

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