Страница 1 из 1

Объединение запросов

Добавлено: 27 окт 2013, 18:23
Shouldercannon
Доброго времени суток!
Помогите, пожалуйста объеденить два запроса в один

Код: Выделить всё

$query = "SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`  
            FROM `table2` AS `t2` 
            JOIN `table1` AS `t1` ON `t1`.`uid` = `t2`.`user_from` 
            JOIN `table1` AS `t3` ON `t3`.`uid` = `t2`.`user_to`";  
и

Код: Выделить всё

$query = '(SELECT * FROM `table2` ORDER BY `UID` DESC LIMIT 40) ORDER BY `UID` ASC;';  
В web-программировании не силён :(

Re: Объединение запросов

Добавлено: 29 окт 2013, 14:07
Хыиуду
Вопрос чисто по базам данных, не имеет ни малейшего отношения к веб-программированию.
А что подразумевается под "объединить запросы"? UNION ALL не подходит?
Хотя бы структуру таблиц опишите.

Re: Объединение запросов

Добавлено: 29 окт 2013, 14:13
Shouldercannon
Извините, промахнулся.
Вот, что требовалось.

Код: Выделить всё

$query = "SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`  
            FROM `table2` AS `t2` 
            JOIN `table1` AS `t1` ON `t1`.`uid` = `t2`.`user_from` 
            JOIN `table1` AS `t3` ON `t3`.`uid` = `t2`.`user_to`
            ORDER BY `t2`.`uid`"; 
Можете помочь в выводом последних двух записей из таблицы?

Код: Выделить всё

Решение
$query = "SELECT * FROM (SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`  
            FROM `table2` AS `t2` 
            JOIN `table1` AS `t1` ON `t1`.`uid` = `t2`.`user_from` 
            JOIN `table1` AS `t3` ON `t3`.`uid` = `t2`.`user_to`
            ORDER BY `t2`.`uid` DESC LIMIT 2) AS a ORDER BY a.uid ASC"; 
a.uid - uid записи из table2, но как правильно это объвить в коде не знаю.

Re: Объединение запросов

Добавлено: 30 окт 2013, 14:47
Хыиуду
SELECT * FROM (SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`, t2.uid - а дальше все как у вас.