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




MySQL.RU - Webboard



Вернуться
Помогите с запросом пожалуйста (Андрей) 04/04/2005 - 09:56:29
      Re: Помогите с запросом пожалуйста (Валентин) 04/04/2005 - 12:37:56
      Re: Критика, вопросы (Валентин) 04/04/2005 - 12:41:34
      Re: Критика, вопросы (Андрей) 04/04/2005 - 13:34:36
      Re: Критика, вопросы (Dinky) 04/04/2005 - 19:03:27
      Re: Критика, вопросы (Андрей) 05/04/2005 - 09:03:41
      Re: Критика, вопросы (Валентин) 05/04/2005 - 10:24:27
      Re: Критика, вопросы (Андрей) 05/04/2005 - 11:04:33
      Re: Критика, вопросы (Dinky) 05/04/2005 - 18:52:36
      Re: Критика, вопросы (Waytac) 05/04/2005 - 19:55:46
      Re: to Waytac (Dinky) 06/04/2005 - 00:57:49
      Re: to Waytac (Андрей) 06/04/2005 - 09:57:39
      Re: to Андрей (Dinky) 06/04/2005 - 23:19:05

> Original message text:
> From: Андрей - 04/04/2005 - 09:56:29
> Subject:Помогите с запросом пожалуйста
> -----------------
> Добрый день. Сразу отмечу, что рад буду критике или посылкам на.. документацию(только конкретно, а не RTFM!!!) Возникла такая проблема. Нужно выполнить запрос к нескольким таблицам. Существует база Test с таблицами data, Table1,Table2...TableX
> Структура таблицы data->
> CREATE TABLE `date` (
> `id` bigint(20) unsigned NOT NULL auto_increment,
> `date` date NOT NULL default '0000-00-00',
> PRIMARY KEY (`id`),
> UNIQUE KEY `id` (`id`),
> UNIQUE KEY `date` (`date`)
> )
>
> Структура таблиц Table1.... TableX одинакова и выглядит примерно так
>
> CREATE TABLE `Table1` (
> `id` bigint(20) unsigned NOT NULL auto_increment,
> `Field1` float(9,3) default '0.000',
> `Field2` float(9,3) default '0.000',
> `Field3` float(9,3) default '0.000',
> `Field4` float(9,3) default '0.000',
> `owner` bigint(20) unsigned NOT NULL default '0',
> PRIMARY KEY (`id`),
> UNIQUE KEY `id` (`id`)
> )
> Где TableX.owner=date.id
> Вот выполнить запрос, который вытаскивает данные из таблиц TableX по указанному id не получается
>
> Запрос такой
>
> SELECT Table1.Field1,Table2.Field1 FROM Table1 LEFT JOIN Table2 ON Table1.owner=Tabl2.owner WHERE Table1.owner=(select MAX(id) from Test.date)
>
> Нужно вытащить данные по указанному, в данном случае - максимальному id. Но запрос возвращает много строк. В табдицах по 5 записей. А возвращается 25. Прошу помочь или указать, на грабли.
>
>
>


From: Dinky - 04/04/2005 - 19:03:27
Subject:Критика, вопросы
-----------------
> PRIMARY KEY (`id`),
> UNIQUE KEY `id` (`id`)
а нафига еще и юник кий???

я так понимаю, что джоинить надо начинать с таблички `date`
SELECT date.id,Table1.Field1,Table2.Field1
FROM `date` LEFT JOIN Table1 ON date.id=Table1.owner
LEFT JOIN Table2 ON date.id=Tabl2.owner
ORDER BY 1 DESC LIMIT1
ну или прямо указать максимальный id:
SELECT date.id,Table1.Field1,Table2.Field1
FROM `date` LEFT JOIN Table1 ON date.id=Table1.owner
LEFT JOIN Table2 ON date.id=Tabl2.owner
WHERE date.id=$max_id
ну или засунуть запрос в WHERE :)

--
Dmitry



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

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

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



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