【发布时间】:2020-05-12 09:19:51
【问题描述】:
假设世界上每个城市都有一个数据库,每个城市都有一个唯一的 ID。我在 Excel 文档的一列中有 50 个 ID 的列表。
如何最有效地返回 50 个城市的名称?我真的需要用 ID# OR ID# ....etc 做一个 WHERE 子句吗?
【问题讨论】:
标签: sql
假设世界上每个城市都有一个数据库,每个城市都有一个唯一的 ID。我在 Excel 文档的一列中有 50 个 ID 的列表。
如何最有效地返回 50 个城市的名称?我真的需要用 ID# OR ID# ....etc 做一个 WHERE 子句吗?
【问题讨论】:
标签: sql
你只是做一个
select cityname from tableofeverycity a where id in (select id from tbl50 ids)
【讨论】:
在 SQL 术语中,您会寻找类似的东西
SELECT names FROM tablofcities
此代码假定您希望它们与它们列出的顺序相同。
因为您提到这些是在 excel 文档而不是数据库中列出的,所以它有点不同。
我建议您查看以下链接以获取有关您问题的更多详细信息。
【讨论】:
在 Excel 中,创建一个实质上为(假设空单元格为 A1)的公式:
empty
1 =B1&","&A2
2 =B2&","&A3
3 =B3&","&A4
你可以把公式写一次,然后抄下来。
结果将如下所示:
1 ,1
2 ,1,2
3 ,1,2,3
转到第 50 行并复制公式。
接下来,将它们粘贴到您最喜欢的 GUI 中的查询中:
select c.*
from cities c
where cityid in (<paste list here>);
删除第一个逗号。
运行查询。
【讨论】: