iT邦幫忙

0

oracle select distinct 多欄位

  • 分享至 

  • xImage

不好意思各位大大請教我下列oracle查詢語句出來的值會員編號要排除多個值該如何下?
Google似乎找不到合適寫法

select distinct ms.member_code 會員編號, ms.chinese_name 姓名,
ms.Phone_Night 手機, ms.Phone_Day 電話, ms.address 地址, ms.e_mail 郵件, sps.shop_cname 店名, to_char(dh.inv_date,'YYYY/MM/DD') 消費日期
from membership ms

join dinv_hdr dh ON (dh.shop_code = ms.shop_code)  --關聯資料表門店中文
join shop sps ON (sps.shop_code = dh.shop_code)

 where to_char(dh.inv_date,'yyyy/mm/dd') >= '2022/07/01'  and to_char(dh.inv_date,'yyyy/mm/dd') <= '2022/12/31' 
    and dh.closed = '1' AND dh.voided='0'
    and dh.member_code in (
        select member_code from membership
       where sps.shop_cname ='OK 高新櫃'
    )
    group by ms.member_code, ms.chinese_name, ms.Phone_Night, 
    ms.Phone_Day, ms.address, ms.e_mail, sps.shop_cname,  to_char(dh.inv_date,'YYYY/MM/DD')
    
    order by ms.member_code ASC

https://ithelp.ithome.com.tw/upload/images/20230118/20148637KTXD5X2H4O.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
player
iT邦大師 1 級 ‧ 2023-01-18 13:04:03
最佳解答

個人意見
多資料表的關聯查詢
如果要排除重複資料的話
要不要考慮寫成巢式select呢?

裡層的select
where 下查詢條件
只select出當群組的欄位與彙總出的統計資料
這樣group by 也可以寫少一點

外層的select
再left join一次主檔
取得其他要顯示的欄位

這樣的寫法
要排除重複資料
會比較簡單

我要發表回答

立即登入回答