如何从where语句中提取所有数据,包括重复的记录

时间:2018-09-25 22:24:25

标签: sql sql-server tsql

最近,我接到一个任务,要从excel电子表格中提取数据,并为每个商店提供所有电话号码。这听起来是5分钟的工作,所以我上次没有任何问题。但是我发现,由于大量重复的ID,该任务很受关注。

有9000多个记录,条件是要从我收到的excel speadsheed中以相同顺序检索所有记录

例如,我在Excel中有以下商店清单

ID, 
121 
123 
124 
121
124

但是我只获得唯一记录

  

ID,       121       123       124

此刻,我进行了几次尝试均未成功,使用游标估计将是我正在寻找的解决方案,但是由于时间有限,我想请您帮忙,并帮助我解决此任务。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用values()join代替in

select t.*
from (values (121, 1), (123, 2), (124, 3), (121, 4), (124, 5), . . .
     ) v(id, ord) left join
     t
     on t.id = v.id
order by v.ord;