簡體   English   中英

左外連接條件 sql

[英]Left outer join with condition sql

有人知道是否有辦法進行條件左外連接嗎? 我有帶實際值的分類帳表和參考部門表,我想從中分配 BMDIV。 但部門參考表包含 LC 編號或 = 'xx' 我想要做的是將分類帳表與 LCTRYNUM、LC 和 DEPTNUM 上的部門表連接起來,但在 LC = '**' 的情況下,連接將只是 LCTRYNUM 和 DEPTNUM。

分類帳實際表

密碼 液晶顯示器 部門 數量
618 40 30813 100
618 50 30813 200
618 60 30813 300
618 10 30813 100

事業部參考表

密碼 液晶顯示器 部門 BMDIV
618 ** 30813 30
618 10 30813 2P

預期結果是這樣的

密碼 液晶顯示器 部門 數量 BMDIV
618 40 30813 100 30
618 50 30813 200 30
618 60 30813 300 30
618 10 30813 100 2P

您可以使用兩個left join s,第一個引入直接匹配,第二個用於默認匹配:

select a.*, coalesce(d.bmdiv, d_default.bmdiv) as bmdiv
from actual a left join
     divisions d
     on a.lc = d.lc left join
     divisions d_default
     on d_default.lc = '**'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM