我试图复制在Excel的公式到SQL,我有一个客户ID码与地址的列表。
我已经连接在一起的邮政编码和姓氏,并整理他们以升序排列。
我要检查,如果文本字符串之前等于当前之一。
如果是这样的话,我想之前把一个的ID号在一个叫新的ID(在当前记录)新的领域,和旧的代码在一个名为删除代码的新领域。
基本上,我们有重复,我们要合并到一个客户,但不删除任何数据地址。
新的代码式= IF(M20 = M19,O19,A20)中删除代码式= IF(N20 = O20 “”,N20)
这是可能的SQL办?
;WITH MyCTE AS
(
SELECT *,
ROW_NUMBER()OVER (ORDER BY TextString) AS rn
FROM Table1
)
SELECT T1.TextString AS T1String,
T2.TextString AS T2String,
CASE WHEN T1.TextString = T2.TextString THEN T1.ID ELSE '' END AS NewCode,
CASE WHEN T1.TextString = T2.TextString THEN T2.ID ELSE '' END AS OldCode
FROM MyCTE T1
LEFT JOIN MyCTE T2
ON T1.rn = T2.rn+1
SQL小提琴演示