现在需要一条语句,需求:
插入一条记录到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
请问这条语句要怎么写啊?
插入一条记录到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
请问这条语句要怎么写啊?
解决方案 »
- order by影响结果集吗?
- sqlserver2005安装成功后运行结果是怎么回事?
- sql server 2000 表结构和数据 怎样导入到Mysql中??????????(加急)
- 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“RSA premaster secret error”。
- 行转列且列数不固定的问题?
- 如果把未分区表修改为分区表
- Error writing file '/tmp/MYJCdYyB' (Errcode: 28)
- 求一SQL語句???????????????
- 如何用sql语句批量更改表中列的类型?
- 我要学oracle,那些oracle 版本能在windows 下运行
- 问个略偏向理论的问题,帮忙,谢谢。
- 续贴:SQL 2000查询问题,请sql77,(爱新觉罗.毓华), (别人叫我东升哥)等高手进来
select name ,age,[add],city,[state]=0
from TB2 JOIN TB3 ON TB2.c_id=TB3.C_ID
WHERE TB2.C_ID=20
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
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
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
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
谢谢各位了,学习了,再增加一点语句难度
如果TB2和TB3不关联,即TB2.C_ID=20 And TB3.C_ID=40语句该怎么写呢?
两个不关联的记录你要怎么对应呢?
比如 tb2表有a,b值,tb3表有c,d值
你取的是
a c
a d
b c
b d
全部吗?还是其中一部分
C_ID是外键,正常情况下TB2,TB3的即State=0(在两个表中没标出来)的C_id只有一条记录