【发布时间】:2019-09-01 14:29:08
【问题描述】:
我收到一位客户的销售数据,并将其集成到他的数据仓库中。通常有两列来定义销售行 - num_transcation 和 num_line_transaction。但是我收到了很多具有相同num_transcation 和num_line_transaction 的行,所以当我执行这个查询时:
select *
from
(select
ROW_NUMBER() over(partition by ll_vente_num_transaction, ll_vente_num_ligne_transaction
order by ll_vente_num_transaction) rn, *
from my_table) t
where
rn > 2
我得到了几乎 43000 行具有相同标识(num_transcation 和 num_line_transaction)的行,唯一不同的是销售日期。
我需要一种方法来更新“num_line_transaction”以便能够加载数据仓库中的数据,否则它将只加载每个“num_transcation”和“num_line_transaction”组合的一行。
例如:
+-----------------+-----------------------+
| NUM_TRANSACTION | NUM_LIGNE_TRANSACTION |
+-----------------+-----------------------+
| 106969796 | 3148291 |
| 106969796 | 3148291 |
| 106969796 | 3148291 |
| 106969796 | 3148291 |
| 106969796 | 3148291 |
| 106969796 | 3148291 |
| 106969796 | 3148291 |
+-----------------+-----------------------+
我需要将这些行更新为:
+-----------------+-------------------------+
| NUM_TRANSACTION | NUM_LIGNE_TRANSACTION |
+-----------------+-------------------------+
| 106969796 | 3148291 |
| 106969796 | 3148292 |
| 106969796 | 3148293 |
| 106969796 | 3148294 |
| 106969796 | 3148295 |
| 106969796 | 3148296 |
| 106969796 | 3148297 |
+-----------------+-------------------------+
请,任何想法将不胜感激。我被困在这里了。
【问题讨论】:
-
@Dan Guzman 你确定将
NUM_LIGNE_TRANSACTION分成两列的编辑吗? -
opps,这是一个错误点击,它们应该在 NUM_LIGNE_TRANSACTION 中
-
@yassinesaddi,请检查我的编辑以确保数据正确并根据需要进行修复。
-
@BarbarosÖzhan,感谢您的收获。标签在原文中不一致,我忽略了清理它。
标签: sql sql-server tsql sql-update ssis-2008