[英]How to select column from different tables based on condition in single query?
是否可以根據單個查詢中的條件從不同的表中獲取日期列?
SPE_common_data
是 Main 表中,有spe_content_type
列有JOURNAL PAPER
或CONFERENCE PAPER
都是值。 如果列值為JOURNAL PAPER
– 使用SPE_journal_data
表並使用spe_journal_pub_online_date
作為活動日期來發表論文
如果列值為CONFERENCE PAPER
– 使用SPE_conference_data
表查找該論文的spe_meeting_code
4.根據spe_meeting_code
go 到Petro_meetings
表,找到該會議代碼的early_start_date
並使用該日期發布該論文。
這對單個查詢中的所有內容都可能嗎?
嘗試通過set_content_type
值合並兩個查詢,例如:
SELECT
cmn.spe_manuscript_num,
cmn.spe_content_type,
jrn.spe_journal_pub_online_date AS pub_online_date
FROM spe_common_data cmn
JOIN spe_journal_data jrn ON cmn.spe_manuscript_num = jrn.spe_manuscript_num
WHERE cmn.spe_content_type = 'JOURNAL PAPER'
UNION ALL
SELECT
cmn.spe_manuscript_num,
cmn.spe_content_type,
pm.early_start_date AS pub_online_date
FROM spe_common_data cmn
JOIN spe_conference_data cnf ON cmn.spe_manuscript_num = cnf.spe_manuscript_num
JOIN petro_meetings pm ON cnf.spe_meeting_code = pm.spe_meeting_code
WHERE cmn.spe_content_type = 'CONFERENCE PAPER'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.