我试图通过左外联接使用小表中的信息更新大表,这是用相同的值填充所有目标单元格,而不管小表中的值是多少。
如何将小表中的特定值正确写入大表中?
以下是sql:
UPDATE tablebig
LEFT OUTER JOIN tablesmall
ON tablebig.id AND tablesmall.id
SET tablebig.parameter1 = Sheet1.parameter1;
以下是表格:
tablebig
========
id|email |name |parameter1|
-------------------------------------
1 |joe@joe.com |joe |
2 |jane@jane.com |jane |
3 |sam@sam.com |sam |
tablesmall
==========
id|email |parameter1|
-------------------------------------
1 |joe@joe.com |good |
2 |jane@jane.com |good |
3 |sam@sam.com |bad |
输出:tablebig中当前有good的所有行都写入了parameter1,尽管tablebig.parameter1值所取的tablesmall parameter1值在parameter1中并不都有good。
如何将具体的tablesmall.parameter1值准确写入tablebig.parameter1?
谢谢!
1条答案
按热度按时间laik7k3q1#
问题出在你的
ON
条件:每当tablebig.id和tablesmall.id都不为零时,都是这样。你应该做的是:
同样在你的场景中(我想这是一个拼写错误),它应该是
所以你的问题应该是:
结果如下: