sql - 使用不同的值更新所有行。当条件不同时
问题描述
提前为令人困惑的标题道歉,但找不到正确的方法在标题中总结它。
我在 SQLite Studio 中有一个表,其中包含四列 ID、名称、Tm(表示团队)和 TmID(TeamID)以及 326 行
314 Tyler Wade NYY NULL
315 Marcus Walden BOS NULL
316 Jared Walsh LAA NULL
317 Donovan Walton SEA NULL
318 Taylor Ward LAA NULL
319 Joey Wendle TBR NULL
UPDATE TeamID
SET TmID = 1
WHERE Tm = 'NYY';
显然,上面的查询允许我更新团队为“NYY”的每一行,但我找不到在一个大查询中更新所有 15 个团队的方法(除了可能在 SQLite Studio 中有点麻烦的事务)。我想为每个团队分配自己唯一的顺序 ID 号。
提前致谢。
解决方案
case
通过 using语句会是这样的:
UPDATE TeamID
SET TmID = case Tm when 'NYY' then 1
when 'BOS' then 2
when 'LAA' then 3
when 'SEA' then 4
when 'TBR' then 5
end
推荐阅读
- java - 使用 mongoTemplate 在 Spring 中创建 mongo 查询
- postgresql - org.postgresql.util.PSQLException:错误:在 WHERE 中不允许设置返回函数
- python - 在python中动态创建嵌套字典
- python - 按升序合并 2 个排序列表
- reactjs - 更新 onClick 事件 plotly.js 上的范围滑块范围
- java - 无法使用 Cloud Firestore 按时间顺序排列数据
- java - 生成所有有效括号
- python - 气流:ImportError:没有名为 configparser 的模块
- javascript - 如何通过按钮单击访问模式中的数据?
- python - 为什么我的相同邮政编码情节重新运行不再在 python 中运行?