Sql 组合两个选择查询
我有两个选择查询Sql 组合两个选择查询,sql,postgresql,Sql,Postgresql,我有两个选择查询 select name1,age1 from table1 输出: +--------+------+ | name1 | age1 | +--------+------+ | ravi | 25 | | rakhav | 12 | | joil | 10 | +--------+------+ select color,no from table2 输出 +--------+----+ | color | no | +--------+----+
select name1,age1 from table1
输出:
+--------+------+
| name1 | age1 |
+--------+------+
| ravi | 25 |
| rakhav | 12 |
| joil | 10 |
+--------+------+
select color,no from table2
输出
+--------+----+
| color | no |
+--------+----+
| red | 3 |
| yellow | 4 |
+--------+----+
我想要像这样的输出
+--------+------+--------+----+
| name1 | age1 | color | no |
+--------+------+--------+----+
| ravi | 25 | red | 3 |
| rakhav | 12 | yellow | 4 |
| joil | 10 | | |
+--------+------+--------+----+
尝试
从表1 t1、表2 t2中选择t1.*、t2.
尝试以下操作:
select * from
(select name1, age1, row_number() over(order by age1 desc) as rn from table1) as t1
left join
(select color, no, row_number() over(order by no) as rn from table2) as t2
on t1.rn = t2.rn
它的获取类似于交叉连接是的,但是您想如何组合来自两个表的记录呢?如果没有orderby,您的两个select语句将以随机顺序返回行。表2的哪些行与表1的哪些行对应?如果您只是试图通过一个查询获得两条完全不相关的信息,请不要这样做。使用两个查询。否则,请解释它们是如何相关的。是的,完全不相关的片段。。。