我想组合不同选择查询的多列(都返回 2 列和 1 行)。我该怎么做?
例如
select p.* from(
(select a.id, a.global from table1 as a)
(select j.gogl, j.popl from table2 as j)
) as p
它有多个选择,但它们都返回 2 列和仅 1 行
预期输出
id | 全球 | gogl | popl |
---|---|---|---|
第一次 | 行 | 第一次 | 行 |
答案 0 :(得分:0)
如果您想要两个表中所有行的组合,请使用:
select a.id, a.global, j.gogl, j.popl
from table1 a cross join
table2 j
注意:如果所有表都有 1 行,那么结果集就会有 1 行。但是,行数可能会急剧增加或减少,具体取决于表的大小。例如,如果任何表没有行,则结果集没有行。
答案 1 :(得分:0)
如果保证单行,只需将每个选择的输出组合成 4 列,您可以使用 gsl_spmatrix_float
和始终为真的条件 - 这样,如果另一个发生,您将始终从其中获得值返回空值。
full join