gpt4 book ai didi

sqlite - 将两个表简单地组合成一个包含两个表的列的表

转载 作者:行者123 更新时间:2023-12-03 18:52:23 25 4
gpt4 key购买 nike

有没有一种方法可以以1:1的方式合并两个表?看来JOIN的真正作用是在两个表中的行之间创建所有可能的组合,然后使用ON过滤掉不需要的行。但是我真正想要的是像这样组合两个任意表:

 a        b         a | b
--- + --- => ---+---
1 8 1 | 8
9 3 9 | 3
7 4 7 | 4
5 0 5 | 0


各个表可能是由选定表形成的,也可能是通过 SELECT / UNION文字值创建的文字值。解决方案不应依赖于获取两个表的任何特定方式,而可以假设两个表将始终具有相同的行数。

例如,假设通过以下方式找到第一列:

SELECT value FROM table ORDER BY x ASC


第二列可以通过以下方式找到:

SELECT * FROM (SELECT 8 UNION SELECT 3 UNION SELECT 4 UNION SELECT 0),(SELECT 1 UNION SELECT 9 UNION SELECT 7 UNION SELECT 5 as B)


现在,如果我执行此查询:

SELECT * FROM
(SELECT value FROM table ORDER BY x ASC) AS a,
(SELECT 1 UNION SELECT 9 UNION SELECT 7 UNION SELECT 5 as B)


我得到返回的每16行,将每个a值与每个b值配对,而实际上我只想要4行,如上表所示。此外,我想不出 ON调节器来过滤掉我不想要的行,因为表之间没有任何共同点。

UNION不起作用,因为它将行合并在一起。我想做的更像是将列合并在一起。

我尝试了以下方法:

SELECT * FROM
(SELECT value FROM table ORDER BY x ASC) AS a,
(SELECT 1 UNION SELECT 9 UNION SELECT 7 UNION SELECT 5 as B)
ON
a.rowid == B.rowid


但这似乎只有在两个子选择都是手动创建的情况下才有效(例如与第二个子句相同的方式)。

最佳答案

您可以尝试创建2个具有ID的临时表,然后根据AUTO INCREMENT字段将它们联接起来。

关于sqlite - 将两个表简单地组合成一个包含两个表的列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24129726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com