SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 21.06.2010 10:42:40

Simba
Участник
Зарегистрирован: 07.09.2009
Сообщений: 10

Правильный запрос

Добрый день!

Столкнулся с такой ситуацией: запрос возвращает ряд значений примерно такого вида:


Индекс  Наименование Количество Наименование1 Количество1
1          Колбаса          10             (null)                (null)
2          Укроп              5              Зеленый           2
2          Петрушка         4              Зеленый           2
3          Редиска            5             Красный           1 
3          Редиска            5             Зеленый           2
и т.д.

Т.е. запрос построен путем объединения 3-х таблиц и нужные столбцы показывает.

Хочется этот результат превратить в такой вид:

1          Колбаса          10
1         (null)                (null)
2          Укроп              5
2          Петрушка         4
2          Зеленый           2
3          Редиска           5
3          Красный           1
3          Зеленый           2

т.е. все наименования в одном столбце, а значения  - в другом.

Спасибо.

Неактивен

 

#2 21.06.2010 13:56:06

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Правильный запрос

Лучше, разумеется, исправить изначальный запрос. Но можно и
дважды использовать результаты Вашего (куда менее эффективно):

SELECT индекс, наименование1, количество1
FROM (подзапрос) subq
UNION
SELECT индекс, наименование2, количество2
FROM (подзапрос) subq

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson