2012-08-14 71 views
0

我多發表,讓我們說20。並且他們有相同的方案我怎麼能做多個表合併到一個新的

CREATE TABLE index[1-20] 
(
[id] [bigint] NOT NULL, 
[word] [varchar](100) NOT NULL, 
[positions] [nvarchar](max) NOT NULL, 
primary key(id,word) 
) 

我想現在要做的就是加入這些表到一個表。假設這些表格可以包含相同的單詞。在這種情況下,我們只是將這些職位合併在一起。否則只保留不同的單詞到新表中。

我認爲我們可以使用完全連接。但有沒有什麼好主意在java中做到這一點?如何編寫邏輯?

非常感謝。

+0

「我們只是合併職位」 - 你的意思是連接在一起嗎?我不確定我想知道您在該領域存儲的是什麼! :-) – Bridge 2012-08-14 11:16:42

+0

您使用的是哪個版本的sql? – 2012-08-14 11:16:54

+0

是的,只是簡單地連接它們就可以了,它只是文本。我使用SQLServer 2012 – xuqin1019 2012-08-14 13:04:43

回答

0

我寧願在SQL中進行連接,否則就是將所有數據通過網絡並進入JVM。讓數據庫做它擅長的事情。您如何執行連接主要針對您的數據庫。

但是,我也會質疑數據庫建模,導致將20個表連接在一起。

0

JOIN不是你需要的,而是UNION

但是爲什麼你有這些表嗎?

+1

我確實想知道他是否意味着'union',我承認 – 2012-08-14 11:14:36

+0

因爲這些表是由java程序創建的。每張桌子都非常大。當我剛創建一次時,我耗盡了JVM的內存。所以我按照你現在看到的將它們分開。謝謝 – xuqin1019 2012-08-14 11:19:47

+0

這聽起來像創建(填充?)這些表的代碼不是非常有效。 – 2012-08-14 11:21:42

相關問題