Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Подскажите с запросом (из нескольких одинаковых таблиц)

Сообщения:  [1-7] 

 
 автор: Ivan   (16.04.2007 в 13:33)   письмо автору
 
   для: Trianon   (16.04.2007 в 13:13)
 

Работает вроде.
Получается, чтобы выбрать, сначала надо все же скинуть в одну кучу, а потом разгребать...
Вот только надо подумать, что делать, если будет много записей...

LIMIT для каждой части назначить нельзя, поскольку не знаешь, может в одной таблице окажутся все новые записи... наверно, надо условие по той же дате - не позднее чего-нибудь.. с запасом...

   
 
 автор: Trianon   (16.04.2007 в 13:13)   письмо автору
 
   для: Ivan   (16.04.2007 в 13:10)
 

INNER JOIN, который Вы неявно применили, соединит строки таблиц так, что Вы вообще не найдете, где там первые, а где последние - каждую из таблиц ровным слоем намажут на все остальные.

   
 
 автор: Ivan   (16.04.2007 в 13:10)   письмо автору
 
   для: Trianon   (16.04.2007 в 09:42)
 

ИМХО, UNION объединит все полученные в один результат, т.е. если взять с каждой таблицы по 5 последних - получим 20, а надо 5 последних "насквозь"... или нет?

Хорошо, тогда навскидку пока вот такое получается:
(SELECT * FROM t1) UNION (SELECT * FROM t2) ORDER BY s2 LIMIT 5
Щас посмотрим...

   
 
 автор: Trianon   (16.04.2007 в 09:42)   письмо автору
 
   для: Ivan   (16.04.2007 в 08:22)
 

Это делается запросом UNION.

   
 
 автор: Ivan   (16.04.2007 в 08:22)   письмо автору
 
   для: CrazyAngel   (16.04.2007 в 08:02)
 

Уточняю:
В столбце s2 - даты, то есть надо просто выбрать последние N записей по дате из нескольких одинаковых таблиц, какбутто из одной.

   
 
 автор: CrazyAngel   (16.04.2007 в 08:02)   письмо автору
 
   для: ivan   (16.04.2007 в 07:26)
 

групированить по какому именно s2?

   
 
 автор: ivan   (16.04.2007 в 07:26)   письмо автору
 
 

Есть несколько одинаковых таблиц t1, t2... с одним набором столбцов - s1, s2...

Поправьте, пожалуйста, следующий запрос:

SELECT * FROM t1, t2, t3 ORDER BY s2 DESC LIMIT 5

Выдает ошибку - колонка s2 - 'ambig...s' тьфу, забыл как слово пишется. Как я понял - именно из-за того, что название колонки везде одинаково

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования