我有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