生成sql语句,我现在有两个数据库表,一个为en1,一个为en2 ,里面都有city_name和city_id字段,en1中是有全部的city_name和city_id的对应关系(如,city_name为‘北京’,对应着city_id=1),但是会有重复的(例如,有多条数据为city_name=‘北京’,对应着city_id=1)。此时,我在en2中只有city_name的数据,想通过en1找到对应的city_id,(即已知city_name=‘北京’,想得到city_id为1)
时间: 2024-03-11 16:48:16 浏览: 67
对比两个mysql数据库显示差异并生成更新SQL语句,执行到指定数据库
你可以使用以下 SQL 语句来实现:
```
SELECT DISTINCT en2.city_name, en1.city_id
FROM en1
JOIN en2 ON en1.city_name = en2.city_name;
```
这个 SQL 语句会将 `en2` 表中的每个城市名称与 `en1` 表中的所有城市名称进行匹配,然后返回不重复的城市名称和相应的城市 ID。如果你只想查询特定城市名称的城市 ID,可以在 `WHERE` 子句中添加条件,如下所示:
```
SELECT DISTINCT en2.city_name, en1.city_id
FROM en1
JOIN en2 ON en1.city_name = en2.city_name
WHERE en2.city_name = '北京';
```
这个 SQL 语句将只返回城市名称为“北京”的城市 ID。
阅读全文