powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как объеденить два select под один from
17 сообщений из 17, страница 1 из 1
как объеденить два select под один from
    #39568528
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здраствуйте знатоки орокла. Подскажите вопрос по такой теме... есть два запроса обращающихся к одной таблице table
авторselect count(par1),count(par2) from table
union all
select count(par3),count(par4) from table

можно ли как то загнать эти селекты под один from???? Пытался понятнее объяснить но не получаеться))
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39568536
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
select count(par1),count(par2),count(par3),count(par4) from table


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39568537
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39568544
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чел в первом запросе попросил две строки
а у вас везде одна :)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
WITH T AS
(
SELECT 1 par1, 2 par2, 3 par3, 4 par4 FROM dual UNION ALL
SELECT 11 par1, 12 par2, 13 par3, 14 par4 FROM dual
)
SELECT SUM(CASE WHEN ID=1 THEN par1 WHEN ID=2 THEN par2 END) s1,
       SUM(CASE WHEN ID=1 THEN par3 WHEN ID=2 THEN par4 END) s2
  FROM T,
       (SELECT ROWNUM ID FROM dual connect BY ROWNUM < 3) tbl
 GROUP BY ID
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569428
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят для тупых на примере пожалуйста(((

select
sum(case when v_f10=1 and floor(p1_101/1000) not in (1,2) then 1 else 0 end) gr1,
sum(case when v_f10=2 and p11_25 in (54,55) or (p11_25 in (49,50) and rab2 in (54,55)) then 1 else 0 end) gr2,
sum(case when p11_25=42 or (p11_25 in (49,50) and rab2=42) then 1 else 0 end) gr3
from f117
where mod(p1_10,10) in (4,5,7,24)
union all
select
sum(case when v_f10=1 and floor(p1_101/1000) not in (1,2) then 1 else 0 end) gr1,
sum(case when v_f10=2 and p11_25 in (54,55) or (p11_25 in (49,50) and rab2 in (54,55)) then 1 else 0 end) gr2,
sum(case when p11_25=42 or (p11_25 in (49,50) and rab2=42) then 1 else 0 end) gr3
from f117
where mod(p1_10,10) in (4,5,7,24)
and p1_10 in (4,5)
union all
select
sum(case when v_f10=1 and floor(p1_101/1000) not in (1,2) then 1 else 0 end) gr1,
sum(case when v_f10=2 and p11_25 in (54,55) or (p11_25 in (49,50) and rab2 in (54,55)) then 1 else 0 end) gr2,
sum(case when p11_25=42 or (p11_25 in (49,50) and rab2=42) then 1 else 0 end) gr3
from f117
where mod(p1_10,10) in (4,5,7,24)
and d111 in (20,30,40,72,73,74,75,76,77)

GR1 GR2 GR3
-------------------------------------- -------------------------------------- --------------------------------------
38998 213 151
22624 26 38
0 1 0

...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569433
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lilzenтупых
Код: plsql
1.
where mod(p1_10,10) in (4,5,7,24)
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569449
роллап
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lilzenдля тупыхплохой аргумент для проффорума. не каждый считает достойным уподоблядствовать вопрошающим.
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569500
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если вас так задела фигура речи то это у вас проблемы я просто прошу помощи у знающих людей в разъяснении структуры написания скинутого кода, на привычном... и конкретном примере
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569506
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicLilzenтупых
Код: plsql
1.
where mod(p1_10,10) in (4,5,7,24)

а по поводу остроумной шутейки господина Elic'а... если вы не в курсе то кроме дву значных чисел в природе еще имеються трех значные
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569513
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LilzenElicпропущено...
а по поводу остроумной шутейки господина Elic'а... если вы не в курсе то кроме дву значных чисел в природе еще имеються трех значные

Хорошее замечание.
Загадка: сколько будет ?
Код: plsql
1.
select mod(241,10) from dual;
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569514
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LilzenElicпропущено...
а по поводу остроумной шутейки господина Elic'а... если вы не в курсе то кроме дву значных чисел в природе еще имеються трех значные

Под сталом .....
Это не шутка, это суровая правда жизни
Или Вы не знаете что делает mod (и используете не ту функцию) или что-то пошло не так
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569521
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lilzenа по поводу остроумной шутейки господина Elic'а... если вы не в курсе то кроме дву значных чисел в природе еще имеються трех значныеНе стоит столь дебильно выпячивать свою тупость.
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569524
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LilzenРебят для тупых на примере пожалуйста(((


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select
sum(case when v_f10=1 and floor(p1_101/1000) not in (1,2) then 1 else 0 end) gr1,
sum(case when v_f10=2 and p11_25 in (54,55) or (p11_25 in (49,50) and rab2 in (54,55)) then 1 else 0 end) gr2,
sum(case when p11_25=42 or (p11_25 in (49,50) and rab2=42) then 1 else 0 end) gr3
from f117, (select level lvl from dual connect by level < 4) cnt
where mod(p1_10,10) in (4,5,7,24)
  and ((lvl = 1)
    or (lvl = 2 and p1_10 in (4,5))
    or (lvl = 3 and d111 in (20,30,40,72,73,74,75,76,77)))
group by lvl



Вы уж извините, проверить не могу.
С mod ... порадовали, оставлю оригинальный код
А ответ с трехзначными числами ... Ну нельзя так с утра, над людьми издеваться, они кофе пьют, удавятся.
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569530
даосос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lilzen это у вас проблемыПомощь нужна тебе.
Еще совет, грамматические ошибки тоже не настраивают потенциальных советчиков на конструктив.
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569566
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а если так
автор 102,124
mod(par,10) in (2,24)
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569568
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lilzenа если так
автор 102,124
mod(par,10) in (2,24)
А может всё же мозг включишь?
...
Рейтинг: 0 / 0
как объеденить два select под один from
    #39569627
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lilzen,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
SQL> ed
Wrote file afiedt.buf

  1  select count(sal) cc from emp e
  2  union all
  3* select count(comm) cc from emp e
  4  /

        CC
----------
        14
         3
SQL> ed
Wrote file afiedt.buf

  1  select count(decode(u,1,sal,2,comm)) cc
  2  from emp e ,
  3  (select 1 u from dual union all select 2 from dual) d
  4* group by u
SQL> /

        CC
----------
        14
         3



ps
есть нюансик но я надеюсь что ето не важно
....
stax
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как объеденить два select под один from
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]