我有三张桌子Table1
Table2
Table3
。我必须对它们执行一些操作并将结果存储在Table4
表格1:
ID t1col2 t1col3
`````` `````` ``````
123 Fname1 Lname1
456 Fname2 Lname2
789 Fname3 LnameAA
表2:
ID t2col2 t2col3 t2col4
````` `````` `````` ``````
122 Fname1 Lname1 String1
466 Fname2 Lname2 String2
789 Fname3 Lname3 String3
表3:
ID t3col2
`````` ``````
122 querty
789 asdfgh
如何执行条件联接以检查以下条件:
t1col3
。t1col3
从值表1与t2col3
从价值表2,只有当表1 ID
和表2 ID
是相等的。ID
在表3中搜索匹配项预期产量:
表4:
ID t1col2 t2col3 t2col4 t3col2
``````` ``````` ``````` ``````` ```````
789 Fname3 Lname3 String3 asdfgh
首先将它们插入表4中。
然后根据Table4校正Table1。
DELETE FROM Table4;
INSERT INTO Table4 (ID, t1col2, t2col3, t2col4, t3col2)
SELECT t2.ID, t1.t1col2, t2.t2col3, t2.t2col4, t3.t3col2
FROM Table2 t2
JOIN Table1 t1 ON t1.ID = t2.ID AND t1.t1col3 LIKE '%AA%'
JOIN Table3 t3 ON t3.ID = t1.ID;
UPDATE t1
SET t1col3 = t4.t2col3
FROM Table1 t1
JOIN Table4 t4 ON t4.ID = t1.ID
WHERE t1.t1col3 != t4.t2col3;
SELECT *
FROM Table4
ORDER BY ID;
在这里测试db <> fiddle
结果:
ID t1col2 t2col3 t2col4 t3col2
---- -------- -------- -------- --------
789 Fname3 Lname3 String3 asdfgh
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句