gpt4 book ai didi

mysql - 在给定条件的情况下连接 2 列

转载 作者:行者123 更新时间:2023-11-29 02:30:51 25 4
gpt4 key购买 nike

我遇到以下情况:我有一个表可以说 X 其中字段是

 -------------------------
| City | Country |
------------------------|
| Melbourne | Australia |
| Phoenix | USA |
| Manchester| USA |
| Manchester| UK |
| Phoenix | USA |
| Pune | India |
------------------------

仅当 city 相同且 country 不同时,我才尝试更新 city 列。我试过做

UPDATE X SET (City) = CONCAT(CITY,COUNTRY) WHERE = ?

where子句应该是什么?

编辑:

输出应该是这样的

 ------------------------------
| City | Country |
-----------------------------|
| Melbourne | Australia |
| Phoenix | USA |
| Manchester, USA| USA |
| Manchester, UK | UK |
| Phoenix | USA |
| Pune | India |
------------------------------

最佳答案

UPDATE X inner join X X_1 on X.city = X_1.city
SET X.City=CONCAT(X.city, ', ', X.Country)
WHERE X.country <> X_1.country

只有在多个国家/地区存在相同城市名称的情况下,才将城市名称设置为 CONCAT(X.city, ', ', X.Country)

编辑:我想我更喜欢这个其他版本:

UPDATE
X inner join
(select city from X group by city having count(*)>1) X_dup
on X.city = X_dup.city
SET X.City=CONCAT(X.city, ', ', X.Country)

我正在使用所有这些奇怪的连接,因为如果您在子查询中引用它,MySql 不允许您更新它。

关于mysql - 在给定条件的情况下连接 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398365/

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