mysql - 根据两个表中一列的两个匹配值更新一列

标签 mysql sql sql-server sqlanywhere

我有两个问题,如果有人能帮助我,那就太好了,对我来说是一个很好的学习。

  1. 我有两个表,我的要求是更新列 A 表 1 值仅适用于列 B 具有的那些行 值与 Table2B 列相同。

    我正在为此寻找 SQL 中的优化查询。

    UPDATE DBA.COM, DBA.MEN
    SET DBA.COM.ND_MAN=''
    WHERE DBA.MEN
    

    在此之后,我无法在 where 条件中选择列名。

  2. 我在两个表的 B 列中发现的问题是,它是 UI 中的唯一标识 (GUID)。所以,当我复制单元格值时 从“SQL Anywhere”交互式 SQL 编辑器,它显示列 值复制如下:

    0x99e2f2a23f9946acb0ceb374a627b142
    

    而不是 99e2f2a23f9946acb0ceb374a627b142

    但是,无论是表的列值,还是我copy的时候,都是starting 使用 0x。所以我想这不会造成任何问题吗?

或者如何在您将为问题 1 创建的上述查询中纠正它?

最佳答案

你需要加入和更新一些东西作为

update table1 t1
join table2 t2 on t1.B = t2.B
set t1.A = 'some value'

关于mysql - 根据两个表中一列的两个匹配值更新一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927399/

相关文章:

mysql - 查找两个表中的值

sql - Yii2:如何记录 SQL 查询?

mysql - C、SQL Server 和 mysqlclient -- 程序无法使用 mysql_real_connect() 连接到本地数据库

mysql - 查询中的疑问 - mysql

php - 为什么 mysql_real_escape_string() 没有阻止 hack?

php - 如果表行的列属性之一为 true,则设置表行的样式

sql - 更改 PostgreSQL 中时间戳的一部分(不是相对)

javascript - 如果不为空,则在何处续集

mysql - JOIN 两个表返回值,但是当我使用 LEFT JOIN 时,它会返回语法错误

sql-server - NVARCHAR 或 VARCHAR 变量定义的返回长度