- 我在'表alpha'中有很多行,其中一些行也出現在'表beta'中。
- 行alpha和beta都有日期列。
- 然而,當我從表中的α選擇這兩個日期列行沒有在B行發生將分配給他們一個空值。
我的問題是,我想打第三日期欄將使用的日期從表測試如果它們不爲空。如果它們爲空,它應該使用表alpha中的日期。如何根據兩個表中的2列[內部和外部聯接]創建第3列
我的問題是,我想打第三日期欄將使用的日期從表測試如果它們不爲空。如果它們爲空,它應該使用表alpha中的日期。如何根據兩個表中的2列[內部和外部聯接]創建第3列
由於您尚未提供任何有關您的數據模型的信息,根據你的問題,我給了你一個粗略的草案。
Select
colA,
colB,
...,
alpha.date1,
beta.date2,
COALESCE(beta.date2,alpha.date1) date3
from
alpha
left outer join beta (your keys)
你應該看看'COALESCE'併爲自己節省很多時間(和複雜性),輸入長'CASE'語句。 –
雅是多選擇:) @TomH –
既然你沒有提供任何良好的數據爲例(DB模式)和預期結果
這裏是我的方法:
SELECT
a.date,
COALESCE(b.mycolumn, a.mycolumn)
FROM alpha a
LEFT JOIN beta b
ON a.date = b.date
http://stackoverflow.com/a/9878541/ 1624583 – Dhwani
向我們展示樣品表數據和預期結果。 – jarlh
真棒,Dhwani發佈的鏈接爲我做了這份工作! – Mikkel