作者ken218 (ken218)
看板Database
标题Re: [SQL ] 多重条件下,重复值的问题
时间Mon Jul 1 14:32:23 2019
如果资料从 A, B 都要,把 join 分拆成三个 select statement union 在一起, 再 ran
k
Select * from (
Select *, row_number() over (partition by [unique id you use for ID] order by
rnk) as rnk1, *
Select 1 as rnk, ...
From a joint b
On ...
Union all
Select 2 as rnk, ...
From...
) Src
) Src1
Where rnk1 = 1
※ 引述《ashin42 (Second)》之铭言:
: 资料库名称: MS SQL SERVER 2017
: 资料库版本: v17.9.1
: 内容/问题描述:
: Hi 各位前辈早
: 我目前遇到了一个SQL的问题 , 我在资料表A定义了两个参数的最大(C1和R1的Maximun)
: 与最小值(C1和R1的Minimum) , 资料表B则是实际的资料带有参数实际值得资料 ,
: 我期望串出来的SQL有优先顺序 , 满足C1和R1的Maximun和Minimum的资料优先被找出 ,
: 如果没有再找出满足C1的Maximun和Minimum的资料 , 如果没有再找出满足R1的Maximun
和
: Minimum的资料
: 但如果SQL向下面这样下会有重复的问题 , 会重复找到分别符合条件的资料 , 无法过
滤
: 掉重复的
: and (B.C1_Temp >= A.C1_Minimum and B.C1_Temp <= A.C1_Maximun and B.R1_Temp >
=
: A.R1_Minimum and B.R1_Temp <= A.R1_Maximun )
: or (B.C1_Temp >= A.C1_Minimum and B.C1_Temp <= C1_Maximun)
: or (B.R1_Temp >= A.R1_Minimum and B.R1_Temp <= R1_Maximun)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 81.92.200.240 (英国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1561962745.A.F43.html