Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2013, 18:17   #11
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Результат полученный самостоятельно с подсказкой гораздо ценнее готового решения. Так вы хоть подумали....
Банальный перебор вариантов, пришедших в голову, пока не зработало.
Shouldercannon вне форума Ответить с цитированием
Старый 29.10.2013, 01:55   #12
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Банальный перебор вариантов, пришедших в голову, пока не зработало.
А жаль. У вас была великолепная возможность разобраться и понять как это работает, чтоб в следующий раз не перебирать все возможные варианты.

Хотя, это, конечно, не моё дело.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 29.10.2013, 09:30   #13
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Новая проблема. Есть данные в таблице:
uid from date message
1 1 2013-03-20 10:14:46 Понедельник
2 3 2013-03-21 11:14:46 Вторник
3 2 2013-03-22 12:14:46 Среда
4 4 2013-03-23 13:14:46 Четверг
Вывожу их так (нужно вывести последние две записи в порядке добавления в таблицу)
PHP код:
$query "SELECT `tusr`.`nick` AS `from`, `tr`.`date`, `tr`.`message`
            FROM `request` AS `tr`
         JOIN `users` AS `tusr` ON `tusr`.`uid` = `tr`.`from`
         ORDER BY `tr`.`uid` DESC LIMIT 2"
;
$result mysql_query($query) or die ("ERROR: ".mysql_error());
while (
$row mysql_fetch_array($result))
echo 
$row['from'].'~'.$row['date'].'~'.$row['message'].'!end-post'.'<br>'// Выводим данные
?> 
И получаю
Тестер~2013-03-23 13:14:46~Четверг!end-post
Гость~2013-03-22 12:14:46~Среда!end-post

Получается вывод не 3 -> 4 в порядке добавления в таблицу, а наоборот 4 -> 3, тоесть список перевернулся. Это можно исправить.
P.S. До этого без взятия данных из других таблиц выручало
PHP код:
ORDER BY `uidASC 
но это здесь нельзя применить.
Shouldercannon вне форума Ответить с цитированием
Старый 29.10.2013, 10:05   #14
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

да все можно, главное уметь

Код:
SELECT * FROM  (SELECT `tusr`.`nick` AS `from`, `tr`.`date`, `tr`.`message`
            FROM `request` AS `tr`
         JOIN `users` AS `tusr` ON `tusr`.`uid` = `tr`.`from`
         ORDER BY `tr`.`uid` DESC LIMIT 2) ORDER BY uid ASC
как-то так
ADSoft вне форума Ответить с цитированием
Старый 29.10.2013, 10:33   #15
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
да все можно, главное уметь

Код:
SELECT * FROM  (SELECT `tusr`.`nick` AS `from`, `tr`.`date`, `tr`.`message`
            FROM `request` AS `tr`
         JOIN `users` AS `tusr` ON `tusr`.`uid` = `tr`.`from`
         ORDER BY `tr`.`uid` DESC LIMIT 2) ORDER BY uid ASC
как-то так
Кирпич. ERROR: Every derived table must have its own alias. Похоже, нельзя сразу два From юзать в одном запросе.
Shouldercannon вне форума Ответить с цитированием
Старый 29.10.2013, 11:27   #16
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Похоже, нельзя сразу два From юзать в одном запросе.
похоже что вам нужен переводчик с английского, и программист не помешает
eval вне форума Ответить с цитированием
Старый 29.10.2013, 11:29   #17
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
похоже что вам нужен переводчик с английского, и программист не помешает
ОШИБКА: Каждая производная таблица должна иметь свой собственный псевдоним

Как это понимать?
Shouldercannon вне форума Ответить с цитированием
Старый 29.10.2013, 11:30   #18
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

совершенно не об этом говорит ошибка...

Код:

SELECT * FROM  (SELECT `tusr`.`nick` AS `from`, `tr`.`date`, `tr`.`message`
            FROM `request` AS `tr`
         JOIN `users` AS `tusr` ON `tusr`.`uid` = `tr`.`from`
         ORDER BY `tr`.`uid` DESC LIMIT 2) AS a ORDER BY a.uid ASC
вот так.. а о чем говорила ошибка - переведите переводчиком хоть
ADSoft вне форума Ответить с цитированием
Старый 29.10.2013, 11:43   #19
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

AS a и BY a.uid
Что здесь подразумевается под a, значение ей нигде не присваивается.
Shouldercannon вне форума Ответить с цитированием
Старый 29.10.2013, 11:49   #20
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

т.е. читать не умеем? или просто принципиально не заглядываем в доки?
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Данные из двух таблиц в одну reihtmonbern БД в Delphi 1 15.01.2013 23:25
Вытянуть данные из двух таблиц nikleb SQL, базы данных 1 03.05.2011 00:56
Отличающиеся данные из двух таблиц Ma4balaka SQL, базы данных 12 09.11.2010 16:58
Связать данные двух таблиц ZhK Microsoft Office Excel 5 03.09.2009 12:23
Помогите связать данные двух таблиц ZhK Microsoft Office Excel 47 27.08.2009 13:22