sql-server - 如何根据对两个不同表的列的测试来更新列的一个单元格中的值?(SQL 服务器)
问题描述
我有两张桌子,TableA
和TableB
。
TableA
有一列名为pointId
TableB
有一列名为alarmId
我需要查询第一个表的列pointID
并检查它是否等于第二个表的列名alarmID
。
(这是我正在尝试做的基本想法......虽然我还没有找到合适的语法,所以这不是工作代码)
UPDATE TableA
SET TableA.pointID = 'new value'
WHERE TableA.pointID = TableB.alarmId
所以,基本上,我想为pointId
我找到的地方设置一个新的值,pointID
并且alarmID
彼此相等。
任何帮助表示赞赏!
解决方案
UPDATE TableA SET TableA.pointID = 'new value' from TableA Join TableB ON TableA.pointID = TableB.alarmId
WHERE....
您将需要其他过滤条件(在 where 条件下),因为上面的代码会将 pointID 的所有值设置为“新值”,只要 TableA.pointID = TableB.alarmId
希望它能解决问题。
推荐阅读
- java - 如何从对象中检索 qrcode 数据?
- neural-network - 辍学正则化的目的是什么?
- mysql - MySql 选择并更新并返回更新后的 ids(以原子方式)
- c - 必须打印一个数字序列 15, 12, 24, 21, 42, 39, 78, 75, 150, 147
- reactjs - 具有扩展的可区分联合的 React 组件的 TypeScript 错误“不可分配给类型‘IntrinsicAttributes’”
- excel - INDEX 和 MATCH :值不在第一列,公式返回 #N/A
- reactjs - 在带有钩子的函数处理程序中使用 useRef
- jenkins - Jenkins 的 findbugs Gradle 构建
- php - Node js socket.io 仅针对特定事件订阅广播
- python-3.x - 自动化 pdfminer.six LAParams 配置