2013-07-01 52 views
-1

我有一个表答:日期在MySQL选择

A.date | A.price 
2013-10-01 | 5000 
2013-10-02 | 5000 
2013-10-03 | 5000 
2013-10-04 | 5000 
2013-10-05 | 5000 

和表B:

B.date | B.price 
2013-10-01 | 3500 
2013-10-03 | 1600 

在输出我希望收到以下信息:

2013-10-01 | 3500 
2013-10-02 | 5000 
2013-10-03 | 1600 
2013-10-04 | 5000 
2013-10-05 | 5000 

如何做到这一点,帮助!

回答

4

可以使用LEFT JOIN,你可以尝试加入表A和表B:

SELECT 
    A.date, 
    COALESCE(B.price, A.price) 
FROM 
    A LEFT JOIN B ON A.date=B.date 

如果连接不成功,B.price将是NULL,否则将有值。使用COALESCE()你可以得到第一个非null值。

请参阅小提琴here