我在实际操作的时候遇到一个问题,代码如下:select t1.time as time, t1.price as a, t2.price as b from t1, t2 where t1.time = t2.time;比如说本来t1有510条记录,t2有520条记录,但是查询出来的结果只有500条,我觉得应该是t1和t2里不重复的就自动忽略了,怎么样才能不删除哪些记录呢?我想把所有的记录都列出来,包括各自独有的一些。

解决方案 »

  1.   

    比如
    表1
    time price 
    7-21 1
    8-1  2
    表2
    time price
    7-20 1.5
    8-1  2.5
    目标表
    time p1 p2
    7-20    1.5
    7-21 1  
    8-1  2  2.5
    但是实际合并之后只有
    time p1 p2
    8-1  2  2.5
    求问怎么达到理想表?
      

  2.   

    select * from t1
    unio all
    select * from t2
      

  3.   

    select * from (
    select time from t1
    unio all
    select time from t2) a
    left join t1 on a.time=t1.time
    left join t2 on a.time=t2.time
      

  4.   

    自己不能修改一下吗?
    select a.*,t1.price,t2.price from (
    select time from t1
    union 
    select time from t2) a
    left join t1 on a.time=t1.time
    left join t2 on a.time=t2.time