mysql - 复杂的更新查询
问题描述
表格1
|id|name|address|car_id |
|1 |Alex|US |NULL |
|2 |Jaso|Canada |1 |
表 2
|car_id|color|
|1 |red |
|2 |blue |
我正在尝试用第二张表中蓝色汽车的 car_id 更新 Alex 的 car_id。是否可以在一个查询中完成?
我尝试编写下面的查询,但无法使其工作。有任何想法吗?
UPDATE table1
SET table1.car_id = table2.car_id
FROM table1
JOIN table2
ON table2.color = "blue"
WHERE table1.name = "Alex"
期望的结果:
|id|name|address|car_id |
|1 |Alex|US |2 |
|2 |Jaso|Canada |1 |
解决方案
我怀疑它在一个查询中不起作用。[编辑:错误,请参阅其他答案]
对于没有公共列的 2 个不同的表,您有 2 个不同的要求。您需要独立于 Alexes 行找到蓝色的 car_id,因为它们现在没有以任何方式链接。
我会这样做:
更新 表格1 放 table.car_id = ( 选择 car_id 从 表2 在哪里 颜色像“蓝色” ) 在哪里 像“亚历克斯”这样的名字
推荐阅读
- mysql - 左表中的 MySQL Sum 与 MULTIPLE JOIN 和多对多
- c# - 如何在 Visual Studio 2019 中仅复制代码的非折叠部分?
- javascript - 在获取命令javascript中处理响应
- python - 如何轻松地将 numpy 数组(矩阵)从 python 提取到 excel?
- oauth - OAuth授权码流安全问题(授权码被黑客截获)
- laravel - Laravel 和 Vuejs 中的问题,部署到 Heroku
- php - 如何仅修复 php 的无效请求(不支持的 SSL 请求)?
- php - 如何在我的 wordpress 网站上进行分页
- numpy - TypeError:切片索引必须是整数或无或具有 __index__ 方法(Albumentations/NumPy)
- jquery - 如何修复我的(导航)按钮的响应性?