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

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Shouldercannon
Сообщения: 74
Зарегистрирован: 08 июн 2008, 15:49

27 окт 2013, 18:23

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

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

$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-программировании не силён :(
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

29 окт 2013, 14:07

Вопрос чисто по базам данных, не имеет ни малейшего отношения к веб-программированию.
А что подразумевается под "объединить запросы"? UNION ALL не подходит?
Хотя бы структуру таблиц опишите.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Shouldercannon
Сообщения: 74
Зарегистрирован: 08 июн 2008, 15:49

29 окт 2013, 14:13

Извините, промахнулся.
Вот, что требовалось.

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

$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, но как правильно это объвить в коде не знаю.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

30 окт 2013, 14:47

SELECT * FROM (SELECT `t1`.`user_name` AS `user_from`, `t3`.`user_name` AS `user_to`, t2.uid - а дальше все как у вас.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить