簡體   English   中英

如何在單個查詢中根據條件從不同表中獲取 select 列?

[英]How to select column from different tables based on condition in single query?

是否可以根據單個查詢中的條件從不同的表中獲取日期列?

  1. SPE_common_data是 Main 表中,有spe_content_type列有JOURNAL PAPERCONFERENCE PAPER都是值。

在此處輸入圖像描述

  1. 如果列值為JOURNAL PAPER – 使用SPE_journal_data表並使用spe_journal_pub_online_date作為活動日期來發表論文在此處輸入圖像描述

  2. 如果列值為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.

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