我如何从 Postgres 中的 2 个不同的 table 中获取
How can I fetch from 2 different table in Postgres
我正在尝试结合使用 labeled2015 和 labeled2019
如果 diseasetype = 3
这里是我的查询示例
SELECT * from labeled2019 labeled2015 inner join dataaaaa on diseasetype = 3 ;
这是我的表格:
labeled2015 样本:
labeled2019 样本:
dataaaaa table 为空。
顺便说一句,它没有必要将查询结果放入 dataaaaa table。显示结果就够了。
请注意,它给了我 [42702] 错误:列引用“疾病类型”不明确 错误。
预期结果:
获取diseasetype = 3的所有照片名称
photoname | diseasetype
32_left 3
asdf433sd 3
尝试使用 'union' 运算符。它可以将来自多个表的查询结果合并为一个结果。
所以查询看起来像这样:
SELECT *
from labeled2015
where diseasetype = 3
union
SELECT *
from labeled2019
where diseasetype = 3
查看文档:https://www.postgresql.org/docs/current/queries-union.html
由于您希望将两个表的条目作为单独的行获取,因此仅使用 UNION ALL
或 UNION
而不是 JOIN 会更容易。
SELECT photoname, diseasetype FROM labeled2015 WHERE diseasetype = 3
UNION ALL
SELECT photoname, diseasetype FROM labeled2019 WHERE diseasetype = 3
UNION ALL
速度更快,应该是首选,但如果两个表中出现相同的条目,则不会删除重复项。因此,如果您想排除这种情况,请改用 UNION
。
由于您将结果限制在疾病类型 = 3 的条目上,您甚至可以在机器人查询中写入 SELECT photoname, 3...
而不是列名。
我正在尝试结合使用 labeled2015 和 labeled2019
如果 diseasetype = 3
这里是我的查询示例
SELECT * from labeled2019 labeled2015 inner join dataaaaa on diseasetype = 3 ;
这是我的表格:
labeled2015 样本:
labeled2019 样本:
dataaaaa table 为空。 顺便说一句,它没有必要将查询结果放入 dataaaaa table。显示结果就够了。
请注意,它给了我 [42702] 错误:列引用“疾病类型”不明确 错误。
预期结果:
获取diseasetype = 3的所有照片名称
photoname | diseasetype
32_left 3
asdf433sd 3
尝试使用 'union' 运算符。它可以将来自多个表的查询结果合并为一个结果。 所以查询看起来像这样:
SELECT *
from labeled2015
where diseasetype = 3
union
SELECT *
from labeled2019
where diseasetype = 3
查看文档:https://www.postgresql.org/docs/current/queries-union.html
由于您希望将两个表的条目作为单独的行获取,因此仅使用 UNION ALL
或 UNION
而不是 JOIN 会更容易。
SELECT photoname, diseasetype FROM labeled2015 WHERE diseasetype = 3
UNION ALL
SELECT photoname, diseasetype FROM labeled2019 WHERE diseasetype = 3
UNION ALL
速度更快,应该是首选,但如果两个表中出现相同的条目,则不会删除重复项。因此,如果您想排除这种情况,请改用 UNION
。
由于您将结果限制在疾病类型 = 3 的条目上,您甚至可以在机器人查询中写入 SELECT photoname, 3...
而不是列名。