2017-04-08 77 views
1

我想合併兩個表的財務信息關於相同的股票列表:第一個是價格表(包含,每日,每週,每月等...價格數據)和第二個是比率表(包含估值和其他比率)。兩個表具有相同的主鍵數字ID列(引用相同的股票代碼)。創建連接光標cur後,我這樣做的代碼是:合併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; 

這工作得很好,除了新prices_n_ratios表包含名爲ID:1的名字進一步的處理過程中造成的問題一個額外的列。

如何避免此列的創作,也許通過某種方式從*不包括第二表的第一個主鍵ID列(列出所有的列名是不是一種選擇),或者如果我不能,我怎麼能從生成的表中刪除這個額外的列,因爲我發現它很難在SQLite3中刪除它?

回答

1

只需列出您在SELECT子句中實際需要的所有列,而不是使用*

另外,加入與使用條款,這會自動刪除重複的列:

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

謝謝CL。這樣做,整齊。真棒。 –