[英]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.