gpt4 book ai didi

php - 更新加入 case mysql

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:12 25 4
gpt4 key购买 nike

我正在使用 Mysql,但在尝试从更新查询中获取结果时遇到了困难。我有 2 张 table 。第一个表 loaddata_temp 和第二个表部分 company_category

第一个表loaddata_temp

|id_external|company_name               |company_category_id|
-------------------------------------------------------------
| 1|iqballord |UD |
| 2|A Plus Lawn Care |PT |
| 3|A. L. Price |PMA |
| 4|A.J. August Fashion Wear |BUMN |
| 5|A+ Electronics |WARUNG |
| 6|A+ Investments |PT |

第二个表 Company_category

|company_category_id|company_category_description|
--------------------|-----------------------------
| 3|PT |
| 5|UD |
| 6|PMA |
| 7|BUMN |
| 23|Koperasi |

我使用这个查询得到的结果是

UPDATE loaddata_temp,company_category
SET loaddata_temp.company_category_id=
CASE
WHEN loaddata_temp.company_category_id = company_category.company_category_description
THEN company_category.company_category_id
ELSE 'error' END

我从上面的查询中得到了什么

|id_external|company_name               |company_category_id|
-------------------------------------------------------------
| 1|iqballord |5 |
| 2|A Plus Lawn Care |3 |
| 3|A. L. Price |6 |
| 4|A.J. August Fashion Wear |7 |
| 5|A+ Electronics |error |
| 6|A+ Investments |3 |

但是我得到了什么

|id_external|company_name               |company_category_id|
-------------------------------------------------------------
| 1|iqballord |error |
| 2|A Plus Lawn Care |error |
| 3|A. L. Price |error |
| 4|A.J. August Fashion Wear |error |
| 5|A+ Electronics |error |
| 6|A+ Investments |3 |

最佳答案

我会使用以下查询:

UPDATE      loaddata_temp lt
LEFT JOIN company_category cc
ON cc.company_category_description = lt.company_category_id
SET lt.company_category_id = COALESCE(cc.company_category_id, 'error');

使用 LEFT JOIN 查找匹配的行进行更新。如果在 company_category 表中未找到任何行,则更新为“错误”。

关于php - 更新加入 case mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37206230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com