我读过许多关于只获取左连接的第一行的线程,但是,由于某些原因,这对我不起作用。
这是我的结构(当然是简化的)
喂食
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'
仅仅获取 feed _ arts 的第一行,但是这已经不起作用了。
我不能使用 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'