A表 id coulmn1 coulmn2 coulmn3
1x B C D
2y B C E
B表 id coulmn1 coulmn2 coulmn3
5t B C Y
7u B C D
8x B D K现在要求 当AB的 coulmn1 coulmn2 对应相等时 修改A的coulmn3的值等于B的coulmn3的值
大家怎么实现的尼 请给出正确答案 本人急需 谢谢 提示
update A set A.coulmn3= B.coulmn3 from A ,B
B.coulmn3 from A,B
where A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
这样行不通
1x B C D
2y B C E
B表 id coulmn1 coulmn2 coulmn3
5t B C Y
7u B C D
8x B D K现在要求 当AB的 coulmn1 coulmn2 对应相等时 修改A的coulmn3的值等于B的coulmn3的值
大家怎么实现的尼 请给出正确答案 本人急需 谢谢 提示
update A set A.coulmn3= B.coulmn3 from A ,B
B.coulmn3 from A,B
where A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
这样行不通
update A set A.coulmn3= B.coulmn3 from A,B
where A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
这样行不通
from A Inner Join B
on A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
B.coulmn3 from A,B
where A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
SELECT 'B','C','f'UNION ALL
SELECT 'B','e','D'UNION ALL
SELECT 'B','C','D'UNION ALL
SELECT 'B','e','D'UNION ALL
SELECT 'B','q','D'INSERT tb_b
SELECT 'B','C','g'UNION ALL
SELECT 'B','e','g'UNION ALL
SELECT 'B','C','g'UNION ALL
SELECT 'B','e','g'UNION ALL
SELECT 'B','C','g'UPDATE tb_a SET tb_a.coulmn3=tb_b.coulmn3 from tb_a INNER JOIN tb_b ON tb_a.coulmn1 = tb_b.coulmn1 AND tb_a.coulmn2=tb_b.coulmn2
SELECT * FROM tb_a
SELECT * FROM tb_b
SELECT 'B','C','f'UNION ALL
SELECT 'B','e','D'UNION ALL
SELECT 'B','C','D'UNION ALL
SELECT 'B','e','D'UNION ALL
SELECT 'B','q','D'INSERT tb_b
SELECT 'B','C','g'UNION ALL
SELECT 'B','e','g'UNION ALL
SELECT 'B','C','g'UNION ALL
SELECT 'B','e','g'UNION ALL
SELECT 'B','C','g'UPDATE tb_a SET tb_a.coulmn3=tb_b.coulmn3 from tb_a INNER JOIN tb_b ON tb_a.coulmn1 = tb_b.coulmn1 AND tb_a.coulmn2=tb_b.coulmn2
SELECT * FROM tb_a
SELECT * FROM tb_b
貌似这样只用sql实现不了。
也就是说update后无论在什么位置不可能出现两个表名!!