У меня есть две таблицыMYSQL отчетливый случайных запросов присоединиться к
albums fotos
------ -----
id id
titulo url
fk_album
Я хотел бы знать, как я могу выбрать из всех альбомов, которые не являются пустыми, случайные фото ... и должны быть различными ... Например :
albums fotos
------ ------
1 A 1 my_url_1 2
2 B 2 my_url_2 2
3 C 3 my_url_3 1
4 D 4 my_url_4 2
5 E 5 my_url_5 3
6 my_url_6 3
Я хочу результаты, подобные этим: (различны, случайные & присоединиться)
result0 ->
albums.id -> 2
albums.titulo -> B
fotos.url -> my_url_2 (this must be random) (or my_url_1 or my_url_4)
result1 ->
albums.id -> 3
albums.titulo -> C
fotos.url -> my_url_6 (this must be random) (or my_url_5)
result2 ->
albums.id -> 1
albums.titulo -> A
fotos.url -> my_url_3 (the album only has this foto url)
у меня есть три но на самом деле я могу получить только отдельные альбомы с фотографиями, но без случайных значений.
EDIT: Я использовал следующий запрос, который возвращает мне 5 альбомов с фотографией (все разные ... не повторяющиеся). Но у меня всегда одна фотография на альбоме. Мне нужно другое фото каждый раз (если альбом имеет более чем одну фотографию, конечно)
select distinct
a.id,
a.titulo,
f.url
from albums as a
inner join
fotos as f
on a.id = f.fk_album
where f.fk_album = a.id
GROUP by f.fk_album, a.id
ошибка: у вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'DISTINCT fk_album FROM fotos ORDER BY RAND()) как f ON a.id = f.fk_ – dac777
Я удалил отдельную добавленную группу ... надеюсь что теперь будет лучше ... – Fox
Спасибо, Фокс! Это работает для меня. Извините, я не могу повышать, потому что у меня все еще недостаточно очков репутации – dac777