【发布时间】:2017-07-23 15:41:13
【问题描述】:
我有 2 个可以用键链接的表。问题是 1 个表也是时间切片的。我只需要这张表中的 2 行,但它们在不同的时间重复了很多次。所以我想从这个表中选择一个不同的值并将它链接到我的另一个。 我想做什么:
SELECT a.firstcolumn,
a.secondcolumn,
b.somecolumn
from table1 a
INNER JOIN (SELECT DISTINCT somecolumn from table2) b
on a.key = b.key
这段代码运行,但我得到了太多的记录(几乎是两倍),所以 distinct 没有以某种方式完成它的工作。 我希望输出包含 a.firstcolumn、a.secondcolumn 和 b.somecolumn
【问题讨论】:
-
由于您没有选择任何 table2 列,您可以使用 EXISTS 而不是 JOIN。
-
如果你只想2行,那为什么不试试LIMIT呢?
-
@jarlh 。 . . OP 澄清了来自 b 的列在输出中,所以我添加了它。
-
@GordonLinoff,那么 EXISTS 不能使用。
-
是的,我确实想要第二个表的输出。我发现了一些有用的东西,但这并没有给我我需要的第二个表的输出。什么有效: 从 table1 中选择 a.firstcolumn b.firstcolumn a INNER JOIN (SELECT DISTINCT key from table2) b on a.key = b.key 如何将 b.somecolumn 添加到输出中?