小编pme*_*lch的帖子

postgresql 左连接多个条件

我仍然是 PostgreSQL 的 NB - 任何人都可以帮助解决这个查询:

select distinct j.id, tt.title, m_scopus.provider_id
from journal j   
join temporal_title "tt"   
     on (j.id = tt.journal_id and tt.list_index = 0) 
left join journal_metrics "jm_scopus"  
     on (jm_scopus.journal_id = j.id) 
left join metrics "m_scopus" 
     on (m_scopus.id = jm_scopus.metrics_id 
     and m_scopus.source_id = 235451508 
     and m_scopus.year_integer = 2017)
Run Code Online (Sandbox Code Playgroud)

问题是我得到了带有空“provider_id”的行,而我不想要它们:

journal_id     title                    provider_id
263290036      German Journal of...     scopusJournalsMetricsProvider
263290036      German Journal of...     NULL
72418282       Europa azul              NULL    
207412571      IAC International...     NULL
Run Code Online (Sandbox Code Playgroud)

第 1、3 和 4 行都可以,但第 2 行不行,因为我需要的信息是provider_id(如果存在),如果不存在则为 NULL。

postgresql left-join multiple-conditions junction-table

4
推荐指数
1
解决办法
1万
查看次数