Суть написанного:
Данный запрос формирует типа как "Микроблогинг" - т.е. последние действия определенных пользователей. Запрос работает ЧЕТКО и ПРАВИЛЬНО
Что имеем:
1) Берем имя пользователя с таблицы друзей
2) LEFT JOIN-ом выбираем аваторку из таблицы пользователей
3) LEFT JOIN-ом проверяем есть ли добавленные файлы
4) при помощи UNION ALL делаем тоже самое только с таблицами статей и комментариев..
Можно ли вобще избавиться от 2х UNION ALL ? И если альтернатива данному запросу?
PS Нужно выбирать данные три раза из трех таблиц: Файлы. статьи и комментарии
Данный запрос формирует типа как "Микроблогинг" - т.е. последние действия определенных пользователей. Запрос работает ЧЕТКО и ПРАВИЛЬНО
SELECT a.friend_name, u.user_name, u.user_photo_thumb, b.id, b.title, b.date, b.use_comments, '{$prefix}_files' as the_files FROM {$prefix}_friends AS a LEFT JOIN {$prefix}_users AS u ON a.friend_name=u.user_name LEFT JOIN {$prefix}_files AS b ON a.friend_name=b.author WHERE a.user_name='$USER[user_name]' AND b.date<=now() AND b.status='1' UNION ALL SELECT a.friend_name, u.user_name, u.user_photo_thumb, b.id, b.title, b.date, b.use_comments, '{$prefix}_notes' as the_notes FROM {$prefix}_friends AS a LEFT JOIN {$prefix}_users AS u ON a.friend_name=u.user_name LEFT JOIN {$prefix}_notes AS b ON a.friend_name=b.author WHERE a.user_name='$USER[user_name]' AND b.to_all='1' UNION ALL SELECT a.friend_name, u.user_name, u.user_photo_thumb, b.file_id, b.content, b.date, b.module, '{$prefix}_comments' as the_comm FROM {$prefix}_friends AS a LEFT JOIN {$prefix}_users AS u ON a.friend_name=u.user_name LEFT JOIN {$prefix}_comments AS b ON a.friend_name=b.user_name WHERE a.user_name='$USER[user_name]' ORDER BY date DESC LIMIT 30 ";
Что имеем:
1) Берем имя пользователя с таблицы друзей
2) LEFT JOIN-ом выбираем аваторку из таблицы пользователей
3) LEFT JOIN-ом проверяем есть ли добавленные файлы
4) при помощи UNION ALL делаем тоже самое только с таблицами статей и комментариев..
Можно ли вобще избавиться от 2х UNION ALL ? И если альтернатива данному запросу?
PS Нужно выбирать данные три раза из трех таблиц: Файлы. статьи и комментарии