我读过很多关于只获得左联接的第一行的文章,但是,由于某些原因,这对我不起作用。
这里是我的结构(当然是简化的)
源
id | title | content
----------------------
1 | Feed 1 | ...
artist_id | artist_name
-----------------------
1 | Artist 1
2 | Artist 2
rel_id | artist_id | feed_id
----------------------------
1 | 1 | 1
2 | 2 | 1
...
SELECT *
FROM feeds
LEFT JOIN feeds_artists ON wp_feeds.id = (
SELECT feeds_artists.feed_id FROM feeds_artists
WHERE feeds_artists.feed_id = feeds.id
LIMIT 1
)
WHERE feeds.id = '13815'
只获得feeds_artists的第一行,但这已经不起作用了。
由于数据库的原因,我不能使用top
并且我不能按feeds_artists.artist_id
对结果进行分组,因为我需要按日期对它们进行排序(我通过这样分组得到了结果,但结果不是最新的)
也尝试了一些外用的东西--也没有成功。老实说,我真的想象不出这些排是怎么回事--这可能是我不能让它工作的最大原因。
解决方案:
SELECT *
FROM feeds f
LEFT JOIN artists a ON a.artist_id = (
SELECT artist_id
FROM feeds_artists fa
WHERE fa.feed_id = f.id
LIMIT 1
)
WHERE f.id = '13815'
如果您可以假设艺术家ID随时间递增,那么min(artist_id)
将是最早的。
所以试试这样的东西(未经测试...)
SELECT *
FROM feeds f
LEFT JOIN artists a ON a.artist_id = (
SELECT
MIN(fa.artist_id) a_id
FROM feeds_artists fa
WHERE fa.feed_id = f.feed_id
) a
问题内容: 我读了许多关于仅获得左联接的第一行的主题,但是由于某种原因,这对我不起作用。 这是我的结构(当然是简化的) 提要 艺人 feeds_artists 现在,我想获取文章并仅加入第一位艺术家,我想到了这样的事情: 只是仅获取feeds_artists的第一行,但已经行不通了。 由于数据库原因,我无法使用,也无法按结果对结果进行分组(因为我需要按日期对它们进行排序(我通过这种方式对结果进行分
问题内容: 我有两个表:gem和gemdetail保持连接状态。我试图将LEFT JOIN限制为gems表中的10条记录。也有两个其他表联接(gemreply和用户),但它们不会导致该问题。以下内容不起作用: 这将返回的行总数限制为10,但是由于每个gem有多个明细记录,所以我剩下不到10个gem记录。我已经阅读了每个“ LIMIT”帖子,但没有发现这种情况。 更新1:好的-感谢jviladric
我有2个pysaprk数据帧。 我正在寻找将df1与df2连接的选项。左连接仅与df2的第一行连接。 DF1: 大黑手 联接的预期输出: 当我正在处理数据砖时,请让我知道仅使用第一行实现 pyspark 左连接是否更容易,或者 sql 连接是否可以实现预期的输出。谢谢。
问题内容: 我有一个表,我们称它为“ a”,它在涉及许多表的视图中用在左联接中。但是,我只想返回“ a”的行(如果它们也与另一个表“ b”联接)。所以现有的代码看起来像 但它返回的行太多,尤其是其中a在b中不匹配的行。我试过了 这给了我正确的结果,但是不幸的是,“ EXPLAIN PLAN”告诉我们,这样做会导致强制对a和b进行全表扫描,这使事情变得很慢。我的一位同事在b上建议了另一个LEFT J
问题内容: 这个问题已经在这里有了答案 : SQL中左右联结与左右联结之间的区别[重复] (4个答案) 6年前关闭。 我看到过称为LEFT OUTER JOIN或RIGHT OUTER JOIN的联接。在某些地方,我见过LEFT JOIN或RIGHT JOIN。我对此感到困惑。 我两天前发布了一个问题,但我无法理解解决方案提供的链接。 这些连接类型是否相同,或者两者之间有区别? 问题答案: 两者之
问题内容: 我有一个网站,用户可以在其中查看电影列表,并为其创建评论。 用户应该能够看到所有电影的列表。此外,如果他们查看了电影,则他们应该能够看到他们给它的评分。如果不是,则仅显示没有得分的电影。 他们根本不在乎其他用户提供的分数。 考虑以下 我本质上想要的是 考虑以下内容: 两个测试都应打印完全相同的输出,但是,只有原始版本会吐出正确的结果表: orm会返回这个 任何试图加入其余主题的尝试,那