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




MySQL.RU - Webboard



Вернуться
need help - оптимизация запроса (j-walker) 26/09/2005 - 12:13:08
      Re: need help - оптимизация запроса [поправка] (j-walker) 26/09/2005 - 12:14:20

> Original message text:
> 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 != ''
>


From: j-walker - 26/09/2005 - 12:14:20
Subject:need help - оптимизация запроса [поправка]
-----------------
Шести столбцов конечно, не трех.


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

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

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



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