首页 > 解决方案 > MySQL:如何连接两个单独的列并将其作为结果返回?

问题描述

我有两个 MySQL 查询,

查询1:

 select adj_close from market order by date desc limit 1,4;

输出 1:

+-----------+
| adj_close |
+-----------+
|    106.15 |
|     111.4 |
|    111.45 |
|    115.45 |
+-----------+

和查询 2:

select open from online order by date desc limit 4;

输出 2:

+--------+
| open   |
+--------+
|     98 |
|  109.9 |
|    111 |
| 117.45 |
+--------+

我想将这两列连接在一起并希望作为 select 语句的结果返回,所以我编写如下查询,

select T.adj_close, S.open from 
 (
 select adj_close from market order by date desc limit 1,4
 ) as T, 
(select open from online order by date desc limit 4
) as S;

它给了我意想不到的输出,如下所示,

+-----------+--------+
| adj_close | open   |
+-----------+--------+
|    106.15 |     98 |
|    106.15 |  109.9 |
|    106.15 |    111 |
|    106.15 | 117.45 |
|     111.4 |     98 |
|     111.4 |  109.9 |
|     111.4 |    111 |
|     111.4 | 117.45 |
|    111.45 |     98 |
|    111.45 |  109.9 |
|    111.45 |    111 |
|    111.45 | 117.45 |
|    115.45 |     98 |
|    115.45 |  109.9 |
|    115.45 |    111 |
|    115.45 | 117.45 |
+-----------+--------+

期待我的输出如下,

    +-----------+--------+
    | adj_close |  open  |
    +-----------+--------+
    |    106.15 |    98  |
    |     111.4 |  109.9 |
    |    111.45 |   111  |
    |    115.45 |  117.45|
    +-----------+--------+

请帮我解决这个问题,

标签: mysqlsubquery

解决方案


我认为您可能正在寻找这个,因为两列数据似乎都来自同一个表:

select `adj_close`, `open` from `market` order by `date` desc limit 1,4;

推荐阅读