Mysql 试图将两列连接在一起,但得到了额外的记录
我有一个名为tcs和mcs的表,每个表都包含一个名为“adj_close”的列,所以我一直在尝试使用query将它们连接在一起,但我得到了额外的记录,如下所示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; 输出: +-----
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;