如何基于两个表[内部和外部联接]中的2列创建第3列

时间:2016-05-12 12:33:11

标签: mysql sql if-statement inner-join outer-join

  • 我有很多行表格'表格alpha'其中一些行出现在表beta'同样。
  • 行alpha和beta都有一个日期列。
    • 但是,当我选择两个日期列时,行B中表中未出现的行将分配给它们。
  

我的问题是我想制作第三个日期列,如果它们不为空,将使用表 beta 中的日期。如果它们为null,则应使用表alpha中的日期。

2 个答案:

答案 0 :(得分:1)

由于您尚未提供有关数据模型的任何信息。我根据你的问题给你一份草稿。

Select 
colA,
colB,
...,
alpha.date1,
beta.date2,
COALESCE(beta.date2,alpha.date1) date3
from 
alpha
left outer join beta (your keys)

答案 1 :(得分:0)

由于您未提供任何良好的数据示例(数据库架构)和预期结果

这是我的方法:

SELECT 
   a.date,
   COALESCE(b.mycolumn, a.mycolumn)
FROM alpha a
LEFT JOIN beta b
ON a.date = b.date