我有3個表,看起來像這樣:SELECT連續表具有相同的數據類型
TermID | Term | Doc1|Doc2|..|Doc998 |
1 | tag | 3 | 0 |..| 5 |
由於原稿張數爲超過我已經創建其他表爲不同的文件的列數在MySQL的限制。第三個表格的列數不同。
我想選擇這3個表中的每一行來計算其單元格的值。問題在於如何從表1-3連續使用SELECT,因爲它們具有不同的列數。
我有3個表,看起來像這樣:SELECT連續表具有相同的數據類型
TermID | Term | Doc1|Doc2|..|Doc998 |
1 | tag | 3 | 0 |..| 5 |
由於原稿張數爲超過我已經創建其他表爲不同的文件的列數在MySQL的限制。第三個表格的列數不同。
我想選擇這3個表中的每一行來計算其單元格的值。問題在於如何從表1-3連續使用SELECT,因爲它們具有不同的列數。
使用UNION
SELECT col1, col2
FROM table1
WHERE conditions
UNION ALL
SELECT col3, col4
FROM table2
WHERE conditions
UNION ALL
SELECT col5, col6
FROM table3
WHERE conditions
然而,正如評論指出,這是一個非常糟糕的設計。您可以用Document
表和Term
表替換您的模式,使用外鍵將它們鏈接起來。
這個數據模型實際上跨越了關係模型設計的界限。考慮轉換爲具有「doc_id」列的結構。你將擁有一張表現良好的表格。問題將變得微不足道。 – 9000
^仍然不是一個好設計。然後用戶將進入列。需要做的是爲用戶提供一個單獨的表格,另一個用於文檔以及用戶與文檔之間的第三個關係。 –
我在列和行中使用了Doc_ID,我使用'單詞'或術語。其實我正在這樣做索引文件。但我現在很困惑。 – krisna