Сообщение от Mateus
|
Как обледененить 2 запроса mysql в один?
|
Как минимум тремя способами:
Таблица `basic` - основная (твоя `photo`)
Таблица `user_basic` - пользовательские действия связанные с basic (у тебя вроде бы `like`)
$user_id = (int)$user_id;
1. Самый быстрый.
"SELECT `basic`.`id` FROM `basic`,`user_basic` WHERE `basic`.`id`=`user_basic`.`basic_id` AND `user_basic`.`id`=$user_id"
2. Через подзапрос, более внятно написанное, что и выше, но с подзапросом.
"SELECT `id` FROM `basic` WHERE `id` = (SELECT `basic_id` FROM `user_basic` WHERE `id`=$user_id)"
3. Через склейку(объединение таблиц). Пожалуй самый долгий, но иногда нужен именно этот.
"SELECT `basic`.`id` FROM `basic` LEFT OUTER JOIN `user_basic` ON `basic`.`id`=`user_basic`.`basic_id` WHERE `user_basic`.`id`=$user_id"
JOIN-ами можно ещё пару запросов реализовать, но думаю тебе и этого должно хватить.
ps: Не называй таблицы `like` эдак и рёхнуться можно.