inner join on后面判断字段aa是空就=3 不是空就不走此判断
时间: 2023-12-08 15:03:48 浏览: 116
您可以使用以下 SQL 语句实现您的需求:
```
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.id
WHERE IF(table1.aa IS NULL, 3, table1.aa) = table2.bb;
```
上述 SQL 语句中,使用了 IF 函数来判断 `table1.aa` 是否为空,如果为空,则将其值设置为 3,否则使用 `table1.aa` 的原值。然后再将这个值与 `table2.bb` 进行比较,从而实现您的需求。
相关问题
同时更新a表示中aa,bb,cc字段内容,其中aa来自于b表的AA字段,其中bb来自于c表的BB字段,其中cc来自于d表的CC字段,表a,b,c,d 的id字段是相同的,请写一个更修改的sql语句服务器的句子
我明白了你的问题,请看下面这个SQL语句:
UPDATE a
SET a.aa = b.AA, a.bb = c.BB, a.cc = d.CC
FROM a
INNER JOIN b ON a.id = b.id
INNER JOIN c ON a.id = c.id
INNER JOIN d ON a.id = d.id
这个SQL语句会把表a中所有符合条件的记录的aa字段更新为b表中对应记录的AA字段,bb字段更新为c表中对应记录的BB字段,cc字段更新为d表中对应记录的CC字段。需要注意的是,表a、b、c、d 的id字段是相同的。
同时更新a表中aa,bb,cc字段内容,其中aa来自于b表的AA字段,其中bb来自于c表的BB字段,其中cc来自于d表的CC字段,请写一个批量更新的sql server 语句
好的,以下是批量更新的sql server语句:
UPDATE a
SET aa = b.AA, bb = c.BB, cc = d.CC
FROM a
INNER JOIN b ON a.id = b.id
INNER JOIN c ON a.id = c.id
INNER JOIN d ON a.id = d.id
这条语句将在a表中同时更新aa、bb、cc字段的内容,其中aa字段来自b表的AA字段,bb字段来自c表的BB字段,cc字段来自d表的CC字段。使用INNER JOIN将a表连接到b、c、d表,以确保更新是针对相同的记录。
阅读全文