Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 результат в строку с помощью union  [new]
nothx
Member

Откуда:
Сообщений: 333
select a.comp_appl_id a1 from LOT_ADDRESS_DTL a
where a.comp_appl_id = 158
union 
select a.comp_appl_id b1 from LOT_ADDRESS_DTL a
where a.comp_appl_id = 704

результат

А
158
704

а хотелось бы вот так

a1 b1
158 704
10 янв 07, 09:18    [3619169]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Бабичев Сергей
Member

Откуда:
Сообщений: 2498
попробуй не UNION, а JOIN.
10 янв 07, 09:23    [3619188]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Elic
Member

Откуда:
Сообщений: 29978
Лучше ни то, ни другое, а max+decode.
10 янв 07, 09:32    [3619240]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
nothx
Member

Откуда:
Сообщений: 333
да точно не подумал, а зачем тогда union нужен?
10 янв 07, 09:33    [3619249]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
не гость
Member

Откуда: from dual
Сообщений: 148
select a.comp_appl_id a1,b.comp_appl_id b1 from LOT_ADDRESS_DTL a, LOT_ADDRESS_DTL b
where a.comp_appl_id = 158 and b.comp_appl_id=704
10 янв 07, 09:34    [3619257]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Elic
Member

Откуда:
Сообщений: 29978
nothx
а зачем тогда union нужен?
Для объединения однотипных наборов данных
10 янв 07, 09:35    [3619261]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
nothx
Member

Откуда:
Сообщений: 333
Однотипных это как, т.е из одной таблицы, можно пример?
10 янв 07, 09:44    [3619322]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Elic
Member

Откуда:
Сообщений: 29978
nothx
Однотипных это как, т.е из одной таблицы, можно пример?
Однотипных - это имещих одинаковое количество и типы столбцов.
RTFM Set Operators (FAQ)
10 янв 07, 09:51    [3619351]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
nothx
Member

Откуда:
Сообщений: 333
Elic
Лучше ни то, ни другое, а max+decode.

это как?
10 янв 07, 10:54    [3619795]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116101
nothx
Elic
Лучше ни то, ни другое, а max+decode.

это как?

Вот так
FAQ: Транспонирование строк в столбцы
10 янв 07, 11:00    [3619836]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
M_IV
Member

Откуда:
Сообщений: 1303
dmidek
nothx
Elic
Лучше ни то, ни другое, а max+decode.

это как?

Вот так
FAQ: Транспонирование строк в столбцы
Дима, ты о чем?
select max(a1) a1, max(b1) from
(
select decode(a.comp_appl_id,158,a.comp_appl_id,null) a1,
         decode(a.comp_appl_id,704,a.comp_appl_id,null) b1 
from LOT_ADDRESS_DTL a
where a.comp_appl_id in (158,704)
)
10 янв 07, 11:07    [3619883]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Elic
Member

Откуда:
Сообщений: 29978
M_IV
dmidek
nothx
Elic
Лучше ни то, ни другое, а max+decode.
это как?
Вот так: FAQ: Транспонирование строк в столбцы
Дима, ты о чем?
select max(a1) a1, max(b1) from
(
select decode(a.comp_appl_id,158,a.comp_appl_id,null) a1,
         decode(a.comp_appl_id,704,a.comp_appl_id,null) b1 
from LOT_ADDRESS_DTL a
where a.comp_appl_id in (158,704)
)
Он о том, о чём нужно.
А вот зачем у тебя inline view - это действительно вопрос
10 янв 07, 11:17    [3619954]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116101
M_IV
dmidek
nothx
Elic
Лучше ни то, ни другое, а max+decode.

это как?

Вот так
FAQ: Транспонирование строк в столбцы
Дима, ты о чем?


С новым Годом, Игорь !

select max(decode(empno, 7369, empno)) empno_1,
       max(decode(empno, 7499, empno)) empno_2
from scott.emp
10 янв 07, 11:18    [3619968]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
M_IV
Member

Откуда:
Сообщений: 1303
dmidek
С новым Годом, Игорь !
С новым!
P.S.: да, блин, смайл не поставил; в примере <min>, а у Elic'а <max>
10 янв 07, 11:23    [3620001]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Elic
Member

Откуда:
Сообщений: 29978
dmidek
С новым Годом, Игорь !
select max(decode(empno, 7369, empno)) empno_1,
       max(decode(empno, 7499, empno)) empno_2
from scott.emp
Всё же отфильтровать будет не лишне :)

M_IV
P.S.: да, блин, смайл не поставил; в примере <min>, а у Elic'а <max>
Как говорится, это монопенисуально :)
10 янв 07, 11:26    [3620019]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
M_IV
Member

Откуда:
Сообщений: 1303
Elic
Как говорится, это монопенисуально :)
minопенисуально = maxопенисуально = монопенисуально
10 янв 07, 11:31    [3620066]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116101
Elic
dmidek
С новым Годом, Игорь !
select max(decode(empno, 7369, empno)) empno_1,
       max(decode(empno, 7499, empno)) empno_2
from scott.emp
Всё же отфильтровать будет не лишне :)

Elic, почему ?

SQL> select max(decode(empno, 7369, empno)) empno_1,
       max(decode(empno, 7499, empno)) empno_2
from scott.emp  
/

   EMPNO_1    EMPNO_2
---------- ----------
      7369       7499

SQL>
10 янв 07, 11:44    [3620146]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
dmidek
Elic
Всё же отфильтровать будет не лишне :)
Elic, почему ?
Рискну предположить, что имелось ввиду просто, что where зря выброшено :)
10 янв 07, 11:48    [3620186]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Elic
Member

Откуда:
Сообщений: 29978
dmidek
Elic
Всё же отфильтровать будет не лишне :)
Elic, почему ?
Наверняка будет поэффективней :)
10 янв 07, 11:49    [3620196]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116101
Jannny
dmidek
Elic
Всё же отфильтровать будет не лишне :)
Elic, почему ?
Рискну предположить, что имелось ввиду просто, что where зря выброшено :)

Да, это я понял, не понял только, почему зря ?
10 янв 07, 11:50    [3620204]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
dmidek
Да, это я понял, не понял только, почему зря ?
Почему зря на полном наборе, а не на отфильтрованном??
10 янв 07, 11:51    [3620209]     Ответить | Цитировать Сообщить модератору
 Re: результат в строку с помощью union  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116101
Elic
dmidek
Elic
Всё же отфильтровать будет не лишне :)
Elic, почему ?
Наверняка будет поэффективней :)

Все ясно, спасибо.
10 янв 07, 11:52    [3620213]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить