作者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://www.ptt.cc/bbs/Database/M.1561955816.A.0DC.html
推 ken218: 請問「優先」的定義是? 07/01 14:18
推 ken218: 重複的問題,如果單純從 B 抓資料,SELECT DISTINCT ... 07/01 14:21
→ ken218: 可以解決 07/01 14:21
推 cutekid: 要不要舉例一個sample input/output,比較好理解喔~ 07/01 14:29
→ konkonchou: 根據三個條件把三句SQL union起來給對應值1 2 3 07/01 18:04
→ konkonchou: 在整個()起來, 排序對應值就好了 07/01 18:05