Leí muchos hilos sobre obtener solo la primera fila de una unión izquierda, pero, por alguna razón, esto no funciona para mí.
Aquí está mi estructura (simplificada, por supuesto)
Feeds
id | title | content
----------------------
1 | Feed 1 | ...
Artistas
artist_id | artist_name
-----------------------
1 | Artist 1
2 | Artist 2
feeds_artists
rel_id | artist_id | feed_id
----------------------------
1 | 1 | 1
2 | 2 | 1
...
Ahora quiero obtener los artículos y unirme solo al primer Artista y pensé en algo como esto:
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'
solo para obtener solo la primera fila de feeds_artists, pero esto ya no funciona.
No puedo usarlo TOP
debido a mi base de datos y no puedo agrupar los resultados feeds_artists.artist_id
porque necesito ordenarlos por fecha (obtuve los resultados al agruparlos de esta manera, pero los resultados no fueron los más nuevos)
Intenté algo con OUTER APPLY también, sin éxito también. Para ser honesto, realmente no puedo imaginar lo que está sucediendo en esas filas, probablemente la razón más importante por la que no puedo hacer que esto funcione.
SOLUCIÓN:
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'