SQL多表联合查询实现插入/更新/删除
2015-12-22 17:03
465 查看
具体描述:有两个表相关联,比如A是主表,B是A的关联从表。A和B各自的主键都是自动增长的。
所以插入顺序:先插入A,再插入B;
更新顺序:随意;
删除顺序:先删除B,再删除A;
1、删除B时的联合查询语句如下
delete B from B,A where RTRIM(FailureMode)=RTRIM(@FailureMode) and RTRIM(ShiftCode)=RTRIM(@ShiftCode)
其中FailureMode是B的字段,@FailureMode是值
ShiftCode是A的字段,@ShiftCode是值
因为字段不重名,所以不用特变限定是哪个表的
2、插入B时的联合查询语句如下
insert into B(EfficiencyID,FailureMode,Reject,RejectYield) (select
EfficiencyID,RTRIM(@FailureMode),@Reject,@RejectYield from A where RTRIM(ShiftCode)=RTRIM(@ShiftCode) and RTRIM(SiteCode)=RTRIM(@SiteCode))
其中Reject,RejectYield,FailureMode是B的字段
ShiftCode是A的字段
A和B 是通过EfficiencyID关联的,注意语句写法
3、更新的联合查询语句如下
update B set Reject=@Reject,RejectYield=@RejectYield from B,A where RTRIM(FailureMode)=RTRIM(@FailureMode) and RTRIM(ShiftCode)=RTRIM(@ShiftCode)
其中Reject,RejectYield,FailureMode是B的字段
ShiftCode是A的字段
其余同上
所以插入顺序:先插入A,再插入B;
更新顺序:随意;
删除顺序:先删除B,再删除A;
1、删除B时的联合查询语句如下
delete B from B,A where RTRIM(FailureMode)=RTRIM(@FailureMode) and RTRIM(ShiftCode)=RTRIM(@ShiftCode)
其中FailureMode是B的字段,@FailureMode是值
ShiftCode是A的字段,@ShiftCode是值
因为字段不重名,所以不用特变限定是哪个表的
2、插入B时的联合查询语句如下
insert into B(EfficiencyID,FailureMode,Reject,RejectYield) (select
EfficiencyID,RTRIM(@FailureMode),@Reject,@RejectYield from A where RTRIM(ShiftCode)=RTRIM(@ShiftCode) and RTRIM(SiteCode)=RTRIM(@SiteCode))
其中Reject,RejectYield,FailureMode是B的字段
ShiftCode是A的字段
A和B 是通过EfficiencyID关联的,注意语句写法
3、更新的联合查询语句如下
update B set Reject=@Reject,RejectYield=@RejectYield from B,A where RTRIM(FailureMode)=RTRIM(@FailureMode) and RTRIM(ShiftCode)=RTRIM(@ShiftCode)
其中Reject,RejectYield,FailureMode是B的字段
ShiftCode是A的字段
其余同上
相关文章推荐
- mysql表数据增删改查、子查询
- MySql 删除相同前缀的表名
- ASP.NET WebForm & MongoDB
- oracle 查询表属于哪个表空间
- mysql建表时候的五种约束
- cmd操作mysql
- mysql监控工具spotlighto
- xbrl-创建表空间以及用户并给用户授权
- Oracle中慎用Like等通配符
- JetBrains发布DataGrip 1.0——数据库与SQL领域中的瑞士军刀
- 数据库镜像札记
- memcache和redis区别
- MySQL binlog基本操作
- 数据库调优要点
- mysql进阶(十八)完全卸载mysql数据库图文教程
- mysql进阶(十八)完全卸载mysql数据库图文教程
- MySQL忘记密码,或:root密码重置报错:mysqladmin: connect to server at 'localhost' failed的解决方案
- postgresql新建库2个常见报错
- Sqlserver中 登录用户只能看到自己拥有权限的库
- oracle存储过程中RAISE_APPLICATION_ERROR用法