当前位置: 首页 > 知识库问答 >
问题:

如何更新SQLITE中两列匹配条件上的列数据?

范书
2023-03-14

我有两个表表1(col1,col2,col3,col4)和表2(çol1,col2,col5)。

表1 col3是空的,我想根据表1(col1, col2)和表2(col1, col2)的匹配更新表2 col5的数据

共有1个答案

东郭远航
2023-03-14

对于SQLite:

UPDATE table1
SET col3 = ( SELECT col5
             FROM table2
             WHERE (table1.col1, table1.col2)=(table2.col1, table2.col2) 
             LIMIT 1 )
/* WHERE table1.col3 IS NULL */

如果表2中的(col1,col2)被定义为唯一,则可以删除限制1

对于MySQL(问题是MySQL标记):

UPDATE table1
  JOIN table2 USING (col1, col2)
SET table1.col3 = table2.col5
/* WHERE table1.col3 IS NULL */

表2中的(col1,col2)必须定义为唯一。如果没有,则将使用所有可能的随机值进行更新。

 类似资料:
  • 问题内容: 假设我有一个包含A,B,C,D列的表,并且我想对A列和C列进行匹配 我看到您可以匹配sqlite中的单个列或所有列,即 是否可以仅匹配A和C列?如果没有,你们如何解决这个问题? 感谢您的建议! 问题答案: 我认为您不能在单个FTS查询中使用多个MATCH运算符。使用column_name:target_term通过一次全文搜索来搜索多列。 http://www.sqlite.org/f

  • 问题内容: 使用此DataFrame,当等于零时如何有条件地将其设置为0 ? 换句话说,在DataFrame上说ColumnA = x然后ColumnB = y否则ColumnB = ColumnB的正确方法是什么? 问题答案:

  • 问题内容: 假设我有一个s的列表: 我想返回满足一定条件的元素的列表,例如: 在for中 返回元素的子元素的Python方法是什么? 天真的方法: 有没有一种简单的方法可以执行此操作,也许具有列表理解或函数,而没有临时的? 问题答案: 使用清单理解, 或者您可以使用也, 您实际上可以使用Python的真实语义编写相同的条件,例如 另外,您也可以使用功能与你的,像这样的

  • 我有两个具有经度和纬度值的数据帧,我想从数据帧#2中提取值(例如数据帧#2的第三列),这些值与数据帧1的列匹配...例如,数据帧1有两列(、),数据帧2有三列(、和一些值)...我想在数据帧1中添加第三列,其中的值对应于两个数据帧中两列完全匹配的值,类似于和...在、不匹配的对中,我希望添加,以便第三列(我要添加到数据。帧1)的长度为=。我尝试了merge函数,但在将的两列与的列进行匹配时遇到了困

  • 问题内容: 我有带有以下列的表table_a I和要搜索(101,103)和条件类似于与OR条件的IN查询 例如,id 1与101和103 event_id都匹配; 为此,我编写了以下查询,但它不起作用。 更新--------------------------- 我还有另一个问题 假设id是另一个具有这样关系的表event_categories的外部对象。 所以我想基于与父事件类别或在该父项的子

  • 我有以下表在PostgreSQL 11.0 我想过滤上表,这样,如果col2和col4相等,只应选择此匹配项,并排除下面两行。当col2和col4不相等时,应该保留col2=col3的行。 所需的输出是: 我正在尝试下面的问题,到目前为止没有成功。 但这将包括已经有匹配的行,我希望在最终输出中排除这些行。