Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Сложный запрос? (Алексей) 24/06/2011 - 15:33:51
      Re: Сложный запрос? (Akina) 24/06/2011 - 19:01:22
      Re: Сложный запрос? (Алексей) 25/06/2011 - 02:56:36
      Re: Сложный запрос? (Алексей) 27/06/2011 - 02:23:47
      Re: Это называется немного иначе... (Akina) 27/06/2011 - 09:16:13
      Re: Не могу занести информацию в поле таблицы (Владимир) 08/07/2011 - 11:28:39

> Original message text:
> From: Алексей - 24/06/2011 - 15:33:51
> Subject:Сложный запрос?
> -----------------
> Вот так мы делаем выборку из основной таблицы table1:
> SELECT t1.ID, t1.f2, t1.f3
> FROM table1 t1
> WHERE (какой-то простой фильтр)
>
> В таблице table2 - записи типа log, то есть история каких-то действий с таблицей table1. Таблицы связаны по полю ID
> Вот запрос к лог-таблице, чтобы добыть последнюю по дате запись, соответствующую ID из главной таблицы table1:
>
> SELECT t2.ID, t2.f5, t2.datef6 FROM table2 t2 WHERE t2.ID=t1.ID ORDER BY t2.datef6 DESC LIMIT 1
>
> Можно ли сделать один !быстрый! запрос, который выводил бы
> строки из table1 и table2, примерно вот так:
> SELECT t1.ID, t1.f2, t1.f3, t2.f5, t2.datef6
> FROM table1 t1, table2 t2
> ...
>
> То есть, каждая строка результата содержала бы поля из table1 и НЕСКОЛЬКО ПОЛЕЙ из table2, ИЗ ПОСЛЕДНЕЙ ПО ДАТЕ записи, соответствующей по ID записи основной таблиы table1
>
> Спасибо
> Алексей
>
>
>
>
>


From: Алексей - 27/06/2011 - 02:23:47
Subject:Сложный запрос?
-----------------
Вот главная таблица table1:
id name
----------
1 name1
2 name2
3 name3

Вот таблица table2 - история каких-то действий с таблицей table1 (неважно каких, важно что они датированы),
при этом tid - это id из таблицы table1
tid eventdate action
-------------------------
1 2011-01-10 rename
1 2011-02-02 activate
1 2011-03-05 deactivate
2 2011-04-21 rename
3 2011-02-20 activate
3 2011-03-30 deactivate
2 2011-04-06 rename
1 2011-03-02 deactivate
2 2011-05-01 mark
3 2011-02-12 rename

Задача:
Вывести ТОЛЬКО самые последние по дате действия над записями table1, то есть результат в этом примере такой:
id name eventdate action
1 name1 2011-03-05 deactivate
2 name2 2011-05-01 mark
3 name3 2011-03-30 deactivate

Теперь, я надеюсь, задача более ясно описана.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
38941



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |