作者ashin42 (Second)
看板Database
标题[SQL ] 多重条件下,重复值的问题
时间Mon Jul 1 12:36:54 2019
资料库名称: 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), 来自: 60.250.191.52 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1561955816.A.0DC.html
1F:推 ken218: 请问「优先」的定义是? 07/01 14:18
2F:推 ken218: 重复的问题,如果单纯从 B 抓资料,SELECT DISTINCT ... 07/01 14:21
3F:→ ken218: 可以解决 07/01 14:21
4F:推 cutekid: 要不要举例一个sample input/output,比较好理解喔~ 07/01 14:29
5F:→ konkonchou: 根据三个条件把三句SQL union起来给对应值1 2 3 07/01 18:04
6F:→ konkonchou: 在整个()起来, 排序对应值就好了 07/01 18:05