|
MySQL.RU - Webboard
Вернуться
need help - оптимизация запроса (j-walker) 26/09/2005 - 12:13:08
Re: need help - оптимизация запроса [поправка] (j-walker) 26/09/2005 - 12:14:20
From: j-walker - 26/09/2005 - 12:13:08
Subject:need help - оптимизация запроса
-----------------
Речь о том, что в трех колонках таблицы содержится однотипная информация. Мне необходимо собрать уникальные значения из всех трех колонок в один столбец одной таблицы. Т.е. не уникальные комбинации трех полей, а значения, уникальные для всех и каждого из трех столбцов.
Вот такой у меня получился запрос.
select distinct man from
(
SELECT * FROM
( select payer_by_rw as man from orders
where
sender_by_rw='$id' or
sender_by_bill='$id' or
receiver_by_rw='$id' or
receiver_by_bill='$id' or
payer_by_rw='$id' or
payer_by_bill='$id' )
AS DERIVED1
UNION
SELECT * FROM
( select sender_by_rw as man from orders
where
sender_by_rw='$id' or
sender_by_bill='$id' or
receiver_by_rw='$id' or
receiver_by_bill='$id' or
payer_by_rw='$id' or
payer_by_bill='$id' )
AS DERIVED2
UNION
SELECT * FROM
( select receiver_by_rw as man from orders
where
sender_by_rw='$id' or
sender_by_bill='$id' or
receiver_by_rw='$id' or
receiver_by_bill='$id' or
payer_by_rw='$id' or
payer_by_bill='$id' )
AS DERIVED3
UNION
SELECT * FROM
( select payer_by_bill as man from orders
where
sender_by_rw='$id' or
sender_by_bill='$id' or
receiver_by_rw='$id' or
receiver_by_bill='$id' or
payer_by_rw='$id' or
payer_by_bill='$id' )
AS DERIVED4
UNION
SELECT * FROM
( select sender_by_bill as man from orders
where
sender_by_rw='$id' or
sender_by_bill='$id' or
receiver_by_rw='$id' or
receiver_by_bill='$id' or
payer_by_rw='$id' or
payer_by_bill='$id' )
AS DERIVED5
UNION
SELECT * FROM
( select receiver_by_bill as man from orders
where
sender_by_rw='$id' or
sender_by_bill='$id' or
receiver_by_rw='$id' or
receiver_by_bill='$id' or
payer_by_rw='$id' or
payer_by_bill='$id' )
AS DERIVED6
) AS MAINTABLE1
where man is not null
and man != ''
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
24152
|
|