我是SQL的新手,我需要帮助通过匹配日期来附加表格。我有2个股票价格表(即Com A,Com B)从mysql生成。
他们如下(非详尽无遗):
Com A
Date Price
2015-05-01 00:00:00.000 34.25
2015-05-02 00:00:00.000 35.20
2015-05-03 00:00:00.000 36.70
2015-05-04 00:00:00.000 32.37
2015-05-05 00:00:00.000 32.40
2015-05-06 00:00:00.000 32.20
Com B
Date Price
2015-05-01 00:00:00.000 54.29
2015-05-02 00:00:00.000 54.50
2015-05-04 00:00:00.000 56.21
2015-05-05 00:00:00.000 56.70
2015-05-06 00:00:00.000 58.20
但是,我想用以下4列输出SQL查询结果(即date,Com A,Com B,Com A - Com B):
Date Com A Com B Com A - Com B
2015-05-01 00:00:00.000 34.25 54.29 20.04
2015-05-02 00:00:00.000 35.20 54.50 19.30
2015-05-03 00:00:00.000 36.70 NULL 36.70
2015-05-04 00:00:00.000 32.37 56.21 23.84
2015-05-05 00:00:00.000 32.40 56.70 24.30
2015-05-06 00:00:00.000 32.20 58.20 26.00
请注意,Com A和Com B之间的差异是绝对值。
答案 0 :(得分:2)
您需要使用ABS
函数进行标准连接操作来检查绝对值
select a.date,
IFNULL(a.price, 0) as comA,
IFNULL(b.price, 0) as comB,
ABS(a.price - b.price) as ComA_ComB
from com_A a left join com_B b on a.date = b.date
请注意,您还可以在日期使用内部联接,这将根据您希望获得的内容返回一些不同的结果