我有一个临时表,它是从平面文件创建的,并在复制到最终目标之前进行了修改。如果需要,将插入一些记录并更新其余记录。
我唯一的问题是它是一对多的关系。该表是零售商列表,其中一些是使用相同的商店名称和SS#多次输入但具有不同的联系类型。
像这样:
Store_ID SS# First_Name Last_Name Type Description
________________________________________________________________________
1234 123-12-1234 JP Crawford A Owner
1234 123-12-1234 JP Crawford D Other Contact 1
1234 987-76-9876 Aaron Nola E Other Contact 2
1236 321-12-3210 Mikael Franco A Manager
1236 321-12-3210 Mikael Franco J Other Contact 7
当存在重复的store_id / SS#时,我需要能够选择其中一条记录。没有可用日期,所以我不知道最后添加了哪条记录。如果其中一个记录是"所有者"另一个是"其他联系人"我可以假设正确的是"所有者"。如果其中一个是"经理"例如。但是有一些例子,其中一条记录可能是"其他联系人5"接下来是"其他联系人6"。
非常感谢任何建议。
答案 0 :(得分:0)
假设最高类型(例如A)是您希望在复制时选择的类型,则以下内容应该有效:
SELECT temp.store_id, temp.ss#, temp.first_name,
temp.last_name, temp.type, temp.description
FROM
(SELECT t.store_id, t.ss#, t.first_name,t.last_name,
t.type, t.description,
ROW_NUMBER() OVER(PARTITION BY t.store_id,ss# ORDER BY t.type) num
FROM YourTable t) temp
WHERE temp.num=1;