mysql - 完全连接两个不同的 SELECT 查询

标签 mysql sql sql-order-by

我有两个表“abcd”和“abcd1”。如下所示:

abcd:

+----+------+--------+------+------+
| id | name | phno   | add1 | add2 |
+----+------+--------+------+------+
| 1  | a    | 123    | mno  | pqr  |
| 2  | a    | 1234   | mno1 | pqr1 |
| 3  | a    | 1234   | NULL | NULL |
| 4  | a    | 12345  | NULL | NULL |
| 5  | a    | 123456 | NULL | NULL |
+----+------+--------+------+------+

abcd1:

+----+------+--------+------+------+
| id | name | phno   | add1 | add2 |
+----+------+--------+------+------+
| 1  | a    | 123    | mno  | pqr  |
| 2  | a    | 1234   | mno1 | pqr1 |
| 3  | a    | 1234   | mno2 | pqr2 |
| 4  | a    | 12345  | mno3 | pqr3 |
| 5  | a    | 123456 | NULL | NULL |
+----+------+--------+------+------+

现在,我已经在第一个表上应用了第一个查询,即 abcd:

select id,name,phno 
from abcd 
where id='3';

这给了我以下结果:

+----+------+--------+
| id | name | phno   |
+----+------+--------+
| 3  | a    | 1234   |
+----+------+--------+

其次,我对“abcd1”表应用了下一个查询,即:

select add1,add2 
from abcd1 
where name='a' 
      and add1!='NULL' 
      and add2!='NULL' 
order by id desc limit 1;

这给了我以下结果:

+------+------+
| add1 | add2 |
+------+------+
| mno3 | pqr3 |
+------+------+

这两个查询对我来说完全没问题。

我想要一个 sql 查询,通过它我可以检索如下所示的行:

+----+------+--------+------+------+
| id | name | phno   | add1 | add2 |
+----+------+--------+------+------+
| 3  | a    | 1234   | mno3 | pqr3 |
+----+------+--------+------+------+

最佳答案

我不太确定这样做是否有意义,因为后一个查询的结果与前一个查询的结果几乎没有任何关系,但您可以交叉连接:

SELECT t1.*, t2.*
FROM (query1) AS t1
CROSS JOIN (query2) AS t2
;

关于mysql - 完全连接两个不同的 SELECT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57808849/

相关文章:

mysql - 最小计数

postgresql - postgres `order by` 参数类型

mysql - 如何更新仅依赖于时间戳的 mysql 数据库列?

mysql - 有没有办法在游标声明的 ORDER BY 子句中有一个变量?

mysql - 按计数结果过滤并显示所有结果

ruby-on-rails - 需要一个在非空值之后返回空值的 postgresql 查询

mysql - 从 Laravel 中的多个表中排序

mysql 5.7 查询出现 group by 错误

mysql - 列出正负列平均值范围内的[行]

sql - 是否可以使用 Entity Framework 运行 native sql?