gpt4 book ai didi

sql - 将具有两列的行转换为一列的两行

转载 作者:行者123 更新时间:2023-11-29 12:06:33 26 4
gpt4 key购买 nike

我有两列,confid1confid2。它们都具有相同的数据类型。

我不知何故需要将 confid2 带入 confid1,但不连接它们。相反,将其插入到 confid1 下的新行中。

原文:

confid1     confid2
AACII1C1 AACII1C2

我试过使用 UNION 如下:

(SELECT confid1 as ID1 FROM dyndomrun)
UNION
(SELECT confid2 as ID2 FROM dyndomrun)

然后它返回 confid1 中的 confid1confid2 的组合,这就是我要找的,如下所示:

confid1
AACII1C1
AACII1C2

现在,问题是另一个表中的一列与 confid1confid2 链接,但它们都在一个列中,但在多行中。

现在,我尝试使用相同的 UNION 方法,只是将 pdbcode 添加到代码中,如下所示:

(SELECT confid1 as id1, conformer.pdbcode from dyndomrun, conformer where dyndomrun.confid1 = conformer.id)
UNION
(SELECT confid2 as id2, conformer.pdbcode from dyndomrun, conformer where dyndomrun.confid1 = conformer.id)

当它不应该返回重复的“pdbcode”值时,如下所示:

confid1,    pdbcode
AACII1C1 2a4n
AACII1C2 2a4n

我希望它选择并返回与 confid1confid2 相关的 pdbcode 列,如下所示:

confid1,    pdbcode
AACII1C1 2a4n
AACII1C2 1b87

最佳答案

更改您的第二个 JOIN 以匹配使用 confid2?

(SELECT confid1 as id1, conformer.pdbcode 
from dyndomrun JOIN conformer
ON dyndomrun.confid1 = conformer.id)
UNION
(SELECT confid2 as id2, conformer.pdbcode
from dyndomrun JOIN conformer
ON dyndomrun.confid2 = conformer.id)

注意:已更新为使用显式 JOIN 语法

关于sql - 将具有两列的行转换为一列的两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646125/

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