|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30315
|
|