Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 试图将两列连接在一起,但得到了额外的记录_Mysql - Fatal编程技术网

Mysql 试图将两列连接在一起,但得到了额外的记录

Mysql 试图将两列连接在一起,但得到了额外的记录,mysql,Mysql,我有一个名为tcs和mcs的表,每个表都包含一个名为“adj_close”的列,所以我一直在尝试使用query将它们连接在一起,但我得到了额外的记录,如下所示 select a.adj_close, b.adj_close from (select adj_close from tcs order by date desc limit 2) as a, (select adj_close from mcs order by date desc limit 2) as b; 输出: +-----

我有一个名为tcsmcs的表,每个表都包含一个名为“adj_close”的列,所以我一直在尝试使用query将它们连接在一起,但我得到了额外的记录,如下所示

select a.adj_close, b.adj_close from (select adj_close from tcs order by date desc limit 2) as a, (select adj_close from mcs order by date desc limit 2) as b;
输出:

+------------------+---------------+
| adj close        | adj close     |
+------------------+---------------+
| 2222.35009765625 |       37      |
| 2204.35009765625 |       37      |
| 2222.35009765625 |       39      |
| 2204.35009765625 |       39      |
+------------------+---------------+
我希望输出如下所示

    +------------------+------------------+
    | adj close        | adj close        |
    +------------------+------------------+
    | 2222.35009765625 |      37          |
    | 2204.35009765625 |      39          |
    +------------------+------------------+

我认为这与连接有关,我是数据库新手。请帮忙

我会很高兴的,我想可能是这样的:

选择tcs.adj_close,msc.adj_close
来自tcs、mcs
其中tcs.date=mcs.date
按日期订购
限制2

更新:在输出中显示日期可能也是一个好主意,但如果贴近您的示例,就会得出这个结论。

实际上您正在进行交叉连接(从多个表中选择数据,没有任何关系或限制)

这里有两种解决方法:

  • 使用连接
  • 在哪里使用

  • 请看这个@埃里克,对不起,我是新来的
    SELECT
        A.ADJ_CLOSE,
        B.ADJ_CLOSE
    FROM
        TCS AS A JOIN MCS AS B
        ON A.ADJ_CLOSE = B.ADJ_CLOSE
    ORDER BY
        A.DATE DESC
    LIMIT
        2;
    
    SELECT
        A.ADJ_CLOSE,
        B.ADJ_CLOSE
    FROM
        (SELECT ADJ_CLOSE FROM TCS ORDER BY DATE DESC LIMIT 2) AS A,
        (SELECT ADJ_CLOSE FROM MCS ORDER BY DATE DESC LIMIT 2) AS B
    WHERE
        A.ADJ_CLOSE = B.ADJ_CLOSE;