SQLITE:基于公共条目水平合并大型 sql 表

SQLITE: horizontally combining large sql tables based on common entry

我有多个 table 我需要根据一个公共条目水平加入。对于第一组 tables,我需要加入看起来像这样的 tables:

Table 1 维 = 1093367x18 看起来像

ROW # ID TEMPERATURE DESCR ... NUMB
1 32 23 Y ... 23
2 47 54 N ... 24
... ... ... ... ... ...
1,093367 78 12 Y ... 45

Table 2 维 = 1093367x648

ROW # ID COLOR 1 COLOR 2 ... COLOR 648
1 32 RED BLUE ... GREEN
2 47 BLUE PURPLE ... RED
... ... ... ... ... ...
1,093367 78 YELLOW RED ... BLUE

我需要 [Table 1 |Table 2]:

ROW # ID TEMPERATURE DESCR ... NUMB COLOR 1 COLOR 2 ... COLOR 648
1 32 23 Y ... 23 RED BLUE ... GREEN
2 47 54 N ... 24 BLUE PURPLE ... RED
... ... ... ... ... ... ... ... ... ...
1,093367 78 12 Y ... 45 YELLOW RED ... BLUE

这可以在 SQLITE 中完成吗?我只找到了解决方案,其中我必须为 table 2 键入所有 648 列。这是在 SQLITE 中执行此操作的唯一方法吗?

如果使用 USING 子句而不是 ON 子句进行连接,则不必在 SELECT 语句中写入任何列名:

SELECT *
FROM Table1 INNER JOIN Table2
USING(id);

这将 return 2 个表的所有列(首先是 Table1 的行,然后是 Table2 的行)但是 USING 子句中使用的列(在本例中是列 id 连接所基于的)将只 returned 一次。

您可以在 Determination of input data (FROM clause processing) 中找到有关 USING 子句的更多信息。

查看简化版 demo.