2017-04-08 16 views
1

私は同じ株価リストに関する財務情報を2つのテーブルにマージしようとしています。最初は価格テーブル(毎日、毎週、毎月など...価格データ)と2番目は比率表(評価およびその他の比率を含む)です。両方のテーブルには同じプライマリキーの数値ID列(同じ株価指数を参照)があります。接続カーソルcurを作成した後、これを行うための私のコードは次のとおりです。これは、新しいprices_n_ratios表は名前、さらに処理中に問題を引き起こしているID:1という名前の余分な列が含まれていることを除いて正常に動作します同じプライマリキーを持つSQLite3テーブルをマージする

CREATE TABLE IF NOT EXISTS prices_n_ratios AS SELECT * FROM 
(SELECT * FROM prices INNER JOIN ratios ON prices.id = ratios.id); 
DROP TABLE prices; 
DROP TABLE ratios; 

。私ができない場合、私は何とか*から2番目のテーブルの最初の主キーのID列を除外して、多分、この列の作成を避けるためにはどうすればよい

どのように私ができる、(すべてのカラム名をリストするには、オプションではありません)、または私はSQLite3でそれを削除することは非常に困難を発見したので、生成されたテーブルからこの余分な列を取り除く?

答えて

1

*ではなく、SELECT句に実際に必要なすべての列を一覧表示するだけです。また

、自動的に重複した列を削除しUSING句、と参加:

SELECT * FROM prices JOIN ratios USING (id) 
+0

はあなたにCLをありがとうございます。それはそれを、きちんとしました。驚くばかり。 –

関連する問題