小编sam*_*sam的帖子

为不同的客户选择不同的最大ID

情况:

我们有月度文件加载到我们的数据仓库,但不是被旧的加载替换,这些只是相互编译.文件在几天内加载.

因此,当运行SQL脚本时,我们会得到重复的记录,以便抵消这种情况,我们运行10-20个"客户"的联合并选择Max(loadID),例如

SELECT
Customer
column 2
column 3

FROM
MyTable

WHERE
LOADID = (SELECT MAX (LOADID) FROM MyTable WHERE Customer= 'ASDA')

UNION 


SELECT
Customer
column 2
column 3

FROM
MyTable

WHERE
LOADID = (SELECT MAX (LOADID) FROM MyTable WHERE Customer= 'TESCO'
Run Code Online (Sandbox Code Playgroud)

上述联盟必须为多个客户完成,所以我当然认为必须有一个更有效的方式.

我们不能在SELECT语句中使用MAX(LoadID),因为可能的情况可能需要以下内容:

星期一:Asda,Tesco,Waitrose加载到DW(LoadID为124)

星期二:Sainsburys加载DW(LoadID为125)

星期三:新的Tesco加载DW(LoadID为126)

所以我想要LoadID 124 Asda&Waitrose,125 Sainsburys和126 Tesco

sql t-sql sql-server

6
推荐指数
1
解决办法
52
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1