Witam, mam tabelki
users
- user_id
- name
gallery
- user_id
- picture
Mam problem w wyświetleniem wszystkich userów z tabeli users w ten sposób, żeby dla każdego było losowo wybrane zdjęcie z tabeli gallery.
Czy jest to możliwe w jednym zapytaniu ?
SELECT * FROM users u INNER JOIN gallery g ON( u.user_id=g.user_id) INNER JOIN (SELECT id,ceiling(max(id)*rand()) AS los FROM gallery GROUP BY user_id) AS t ON(g.id=t.id)
SELECT temp.user_id,temp.user_name,temp.picture FROM(SELECT user.user_id,user.name ,gallery.picture FROM user INNER JOIN gallery ON(user.user_id=gallery.user_id) ORDER BY rand()) AS temp GROUP BY temp.user_id;
SELECT u.name, t.los, t1.picture FROM users u INNER JOIN gallery g ON( u.user_id=g.user_id) INNER JOIN (SELECT id, ceiling(max(id)*rand()) AS los FROM gallery GROUP BY user_id) AS t ON(g.id=t.id) INNER JOIN (SELECT id, picture FROM gallery ) t1 ON(t1.id=t.los)