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




MySQL.RU - Webboard



Вернуться
Using temporary (Илья) 15/12/2006 - 11:29:35



From: Илья - 15/12/2006 - 11:29:35
Subject:Using temporary
-----------------
Есть две банальные таблицы:
CREATE TABLE `contract` (
`id` int(11) NOT NULL auto_increment,
`number` tinytext,
`client` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `client` (`client`)
)
CREATE TABLE `client` (
`id` int(11) NOT NULL auto_increment,
`fio` tinytext,
PRIMARY KEY (`id`)
)

Задача выбрать всех клиентов, которые встречаются в договорах, т.е. на мой взгляд это такой запрос:
SELECT client.*
FROM contract,client
WHERE contract.id > 10 AND contract.client = client.id
Но он он размножает юзеров, т.е. если в 10 договорах user = 1, то он выбирается 10 раз. Использование DISTINCT решает проблему, но тогда EXPLAIN выдаёт Using temporary, что не есть гуд, как я понимаю.
Каким запросом можно наиболее быстро сделать уникальную выборку пользователей.



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

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

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



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