扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
有两种方式: 关键字where 或嵌入在inner 或left 中:
创新互联专注于网站建设、网站制作、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。
下面定义3个表A,B,C,字段分别为A:a,b;B:b,c;C:c,d
正常where 使用语句如下:
select A.a,B.b,C.c from A
inner join B on A.b=B.b
inner join C on C.c=B.c
where A.a=10 or B.b=10 or C.c=10
下面的SQL 嵌入到inner 中的使用方式:
select A.a,B.b,C.c from A
inner join B on A.b=B.b and B.b=10
inner join C on C.c=B.c and C.c=10
你这样,不要用insert,用update,效果一样,先把你要插入的字段值赋值为null,并且把你要插入的数据与所用到的条件数据一起导入一张临时表。
比如说:我要从临时表B里往A表里的"插入字段"插入数据000,并且条件为
A表的条件1=B表的条件1 ;
A表的条件2=B表的条件2;
那么用update 代替 insert
update A as a,B as b
set a.插入的字段='000'
where a.条件1=b.条件1 and a.条件2=b.条件2
不知道是不是你的意思,如果不是,你说清楚点。
如果楼主只是考虑下这样做,无妨,有想法。但是这样做,个人认为劳时劳力,但结果还不会很理想,因为数据库本来就是对插入数据进行存储和管理,但是现在楼主试图让其对数据插入进行筛选,貌似越权了。这些操作应该时数据库操作的逻辑代码来做的,数据库来做会降低开发效率。
其他数据库记得可以用check来做,但是mysql好像check没作用
其实你这个判断条件是不对的,条件只能有一个。你可以在前面加 如果真 来判断,然后再更新记录,条件只要一个即可。
例如:
读字段值(记录集句柄,“字段名1”,赋值变量1)
读字段值(记录集句柄,“字段名2”,赋值变量2)
如果真(赋值变量1="你好" 且 赋值变量2="易语言")
更新记录(数据库句柄,"表名","name=1","字段名='"+赋值变量1+"'")
附图 我以前写的
如何让mysql的join的连接查询中的子表多加个条件
select * from tbl_a a join tbl_b b on a.col1=b.col1 where b.col2=''; #用where来加条件就行。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流