Sol birleştirmenin yalnızca ilk satırını almayla ilgili birçok konu okudum, ancak bazı nedenlerden dolayı bu benim için çalışmıyor.
İşte benim yapım (elbette basitleştirilmiş)
Yemler
id | title | content
----------------------
1 | Feed 1 | ...
Sanatçılar
artist_id | artist_name
-----------------------
1 | Artist 1
2 | Artist 2
feeds_artists
rel_id | artist_id | feed_id
----------------------------
1 | 1 | 1
2 | 2 | 1
...
Şimdi makaleleri almak ve sadece ilk Sanatçı katılmak istiyorum ve ben böyle bir şey düşündüm:
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 öğesinin yalnızca ilk satırını almak için, ancak bu zaten çalışmıyor.
TOP
Veritabanım nedeniyle kullanamıyorum ve ben feeds_artists.artist_id
tarihe göre sıralamak gerekir gibi sonuçları gruplayamıyor (Ben onları bu şekilde gruplandırarak sonuçları var, ama en yeni değil nerede sonuçları)
OUTER UYGULAMA ile de bir şey denedim - başarı da yok. Dürüst olmak gerekirse ben gerçekten bu satırlarda neler olup bittiğini hayal edemiyorum - muhtemelen bu işe alamıyorum neden.
ÇÖZÜM:
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'