7

ウェブサイトに株式情報を表示するプロジェクトに取り組んでいます。SQLで2つのテーブルを結合する方法を知りたいです。

Table1 があるとします。

stock_id     date     p_high   p_low
------------------------------------
3         2013-02-26     100      80
3         2013-02-25     100      80
3         2013-02-24     100      80
1         2013-02-24     100      80
3         2013-02-23     100      80
2         2013-02-23     100      80

そして、Table2 があります

stock_id     date       open   high  low  close  volume
---------------------------------------------------------
3         2013-02-24     90    110    70    90     250
3         2013-02-23     90    110    70    90     250
2         2013-02-23     90    110    70    90     250
3         2013-02-22     90    110    70    90     250
3         2013-02-21     90    110    70    90     250
1         2013-02-21     90    110    70    90     250

そして、日付を結合して、このようにすべてのデータを表示したいのですが、

更新:日付とstock_idを組み合わせたい

stock_id     date       open   high  low  close  volume  p_high  p_low
------------------------------------------------------------------------
3         2013-02-26                                       100    80
3         2013-02-25                                       100    80
3         2013-02-24     90    110    70    90     250     100    80
3         2013-02-23     90    110    70    90     250     100    80
3         2013-02-22     90    110    70    90     250
3         2013-02-21     90    110    70    90     250

ご協力ありがとうございました。

4

4 に答える 4

1
FULL JOIN ?   TABLE1 FULL JOIN TABLE2 ON T1.DATE=T2.DATE
于 2013-04-01T05:32:57.843 に答える
0
select t1.stock_id,t1.date,t1.p_high,t1.p_low,t2.open,t2.high,t2.low,t2.close,t2.volume from t1 left join t2 on (0) where t1.stock_id=3
union 
select t2.stock_id,t2.date,t1.p_high,t1.p_low,t2.open,t2.high,t2.low,t2.close,t2.volume from t2 left join t1 on (0) where t2.stock_id=3
于 2013-04-02T09:14:54.290 に答える
0

このようなもの:

SELECT * 
FROM   table1 LEFT JOIN table2
ON     table1.date = table2.date
UNION
SELECT * 
FROM   table1 RIGHT JOIN table2 
ON     table1.date = table2.date

MySQL には FULL OUTER JOIN がないため、LEFT JOIN の結果と RIGHT JOIN を組み合わせることで取得できます。

于 2013-04-01T04:31:52.543 に答える