powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Задача SQL
40 сообщений из 40, показаны все 2 страниц
Задача SQL
    #39842894
vasiliy89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет
помогите написать запрос , сломал голову уже(

во вложении задание , не могу вывести "Кол-во проданных товаров оффлайн", "Сумма проданных товаров оффлайн","Кол-во отмененных товаров онлайн" , "Сумма отмененных товаров онлайн"

Решил делать отдельно каждую таблицу ,потом совместить , но не получается вывести вышеперечисленные поля:

select
t1.id_delivery as "№ поставки",
count(distinct t1.id_agent) as "Кол-во агентов оффлайн" ,
count (t1.is_agent) as "Кол-во отгруже тов оффлай" ,
count (t1.is_util) as "Кол-во утилиз товаров оффлайн"

from tab2 t1
group by t1.id_delivery
;

select
count(distinct t3.id_agent) as "Кол-во агентов онлайн" ,
count(t3.id_type) as "Кол-во проданных тов онлайн",
sum(t3.amount) as "Сумма проданных товаров онлайн"
--count( t4.id_type) as "Кол-во отмен товаров онлайн"

from tab3 t3 /*, tab3 t4*/
where /*t3.id_delivery=t4.id_delivery
and*/ t3.id_type = 1
--and t4.id_type = 2 --(select count(tt.id_type) from tab3 tt where tt.id_type = 2 )
--group by t3.id_delivery
...
Рейтинг: 0 / 0
Задача SQL
    #39842903
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliy89,

ни кто не хочет погружаться в твои задачи, у всех свои дела.
Сделай нормально постановку, вот пример, как надо

https://www.sql.ru/forum/1313180/pyatnichnyy-zaprosik
...
Рейтинг: 0 / 0
Задача SQL
    #39842909
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне было не жалко 10 минут, заготовку сделал.
Дальше сами поработайте.

Код: 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.
26.
27.
with t1(ID_delivery, ID_agent, IS_agent, IS_util, Amount, ID_trade) as (
select 1, 11, 'y', 'y', null, 11 from dual union all
select 1, 11, 'y', null, 100, 12 from dual union all
select 1, 12, 'y', null, 100, 13 from dual union all
select 1, 12, 'y', 'y', null, 14 from dual union all
select 2, 12, 'y', null, 100, 11 from dual union all
select 2, 12, null, null, null, 12 from dual union all
select 2, 13, 'y', null, 100, 13 from dual union all
select 2, 14, 'y', null, 100, 14 from dual union all
select 2, 11, 'y', 'y', null, 15 from dual
), t2(ID_delivery, ID_agent, ID_type, Amount, ID_trade) as (
select 1, 52,  1, 100, 1 from dual union all
select 1, 52,  2, 100, 1 from dual union all
select 1, 53,  1, 100, 2 from dual union all
select 1, 58,  1, 100, 3 from dual union all
select 1, 58,  1, 100, 4 from dual union all
select 1, 900, 1, 100, 5 from dual union all
select 1, 900, 2, 100, 5 from dual union all
select 2, 53,  1, 100, 1 from dual union all
select 2, 60,  1, 100, 2 from dual
)
select id_delivery, id_agent, amount, count(is_util) over(partition by tabl) cnt_util
  from (
select 't1' tabl, id_delivery, id_agent, nvl(amount, 0) amount, is_util from t1
 union all
select 't2' tabl, id_delivery, id_agent, amount, null is_util from t2
       )

...
Рейтинг: 0 / 0
Задача SQL
    #39842933
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

да я не из вредности ))

«Правильно заданный вопрос – половина ответа»(с)
https://habr.com/ru/post/81046/
...
Рейтинг: 0 / 0
Задача SQL
    #39842957
slow brain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
with tab2(ID_delivery,ID_agent,IS_agent,IS_util,Amount,ID_trade) as 
(select 1,11,'y','y',null,11 from dual union all
select 1,11,'y','',100,12 from dual union all
select 1,12,'y','',100,13 from dual union all
select 1,12,'y','y',null,14 from dual union all
select 2,12,'y','',100,11 from dual union all
select 2,12,'','',null,12 from dual union all
select 2,13,'y','',100,13 from dual union all
select 2,14,'y','',100,14 from dual union all
select 2,11,'y','y',null,15 from dual )
, tab3( ID_delivery, ID_agent, ID_type, Amount,ID_trade) as 
(select 1, 52,1,100,1 from dual union all
select 1, 52,2,100,1 from dual union all
select 1, 53,1,100,2 from dual union all
select 1, 58,1,100,3 from dual union all
select 1, 58,1,100,4 from dual union all
select 1, 900,1,100,5 from dual union all
select 1, 900,2,100,5 from dual union all
select 2, 53,1,100,1 from dual union all
select 2, 60,1,100,2 from dual )
    , tab2_gr as (
    select ID_delivery
        , count(distinct ID_agent) count_a
        , count(distinct case when is_agent = 'y' then ID_trade end) count_ship
        , count(distinct case when IS_util = 'y' then ID_trade end) count_util
        , count(distinct case when is_agent = 'y' and IS_util is null  then ID_trade end) count_sell
        , sum(case when is_agent = 'y' and IS_util is null  then Amount else 0 end) amount_sell
      from tab2 
     group by ID_delivery)
    , tab3_gr as (
    select id_delivery
         , sum(count_a) count_a
         , sum(sign_sell) count_sell
         , sum(sum_sell) sum_sell
         , sum(count_canc) count_canc
         , sum(sum_canc) sum_canc
      from (select id_delivery, id_trade
                 , count(distinct ID_agent) count_a
                 , sum( case ID_type when 1 then 1 when 2 then -1 end ) sign_sell
                 , sum( case ID_type when 1 then 1 when 2 then -1 end * Amount) sum_sell
                 , count(distinct case when ID_type = 2 then ID_trade end) count_canc
                 , sum( case when ID_type = 2 then Amount else 0 end) sum_canc
              from tab3 group by id_delivery, id_trade) group by id_delivery
      )
select case when grouping (tab2.id_delivery) = 1 then 'Итого' else to_char(tab2.id_delivery) end id_delivery
     , sum(tab2.count_a) count_a_off
     , sum(tab2.count_ship) count_ship_off
     , sum(tab2.count_util) count_util_off
     , sum(tab2.count_sell) count_sell_off
     , sum(tab2.amount_sell) amount_sell_off
     , sum(tab3.count_a) count_a_on
     , sum(tab3.count_sell) count_sell_on
     , sum(tab3.sum_sell) sum_sell_on
     , sum(tab3.count_canc) count_canc_on
     , sum(tab3.sum_canc) sum_canc_on
  from tab2_gr tab2
     , tab3_gr tab3
 where tab2.id_delivery = tab3.id_delivery
  group by rollup ( tab2.id_delivery); 



Передайте им, что они поступают не очень этично, отзывая офферы.
...
Рейтинг: 0 / 0
Задача SQL
    #39842967
vasiliy89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!!!!
...
Рейтинг: 0 / 0
Задача SQL
    #39842968
vasiliy89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
slow brain, кому?)
...
Рейтинг: 0 / 0
Задача SQL
    #39842969
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://www.sql.ru/forum/1288307/vakansiya-otchetnost-moskva
Вот это они, как раз это задание и высылали.

Вот мой вариант решения:

Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
with q (ID_delivery,ID_agent, IS_agent, IS_util, Amount,ID_trade) as (
select 1, 11, 'Y', 'Y', null, 11 from dual union all
select 1, 11, 'Y', null, 100, 12 from dual union all
select 1, 12, 'Y', null, 100, 13 from dual union all
select 1, 12, 'Y', 'Y', null, 14 from dual union all
select 2, 12, 'Y', null, 100, 11 from dual union all
select 2, 12, null, null, null, 12 from dual union all
select 2, 13, 'Y', null, 100, 13 from dual union all
select 2, 14, 'Y', null, 100, 14 from dual union all
select 2, 11, 'Y', 'Y', null, 15 from dual
)
, q1(ID_delivery, ID_agent, ID_type, Amount, ID_trade) as (
select 1, 52, 1, 100, 1 from dual union all
select 1, 52, 2, 100, 1 from dual union all
select 1, 53, 1, 100, 2 from dual union all
select 1, 58, 1, 100, 3 from dual union all
select 1, 58, 1, 100, 4 from dual union all
select 1, 900, 1, 100, 5 from dual union all
select 1, 900, 2, 100, 5 from dual union all
select 2, 53, 1, 100, 1 from dual union all
select 2, 60, 1, 100, 2 from dual)
select nvl(to_char(z1.id_delivery),'ИТОГО:')
, sum(r1)
, sum(r2)
, sum(r3)
, sum(r4)
, sum(r5)
, sum(r6)
, sum(r7)
, sum(r8)
, sum(r9)
, sum(r10)
 from 
(select q.id_delivery
, count(distinct q.id_agent) as r1
, sum(case when q.is_agent = 'Y' then 1 else 0 end) as r2
, sum(case when q.is_util = 'Y' then 1 else 0 end) as r3
, count(distinct q.id_trade) as r4
, sum(q.amount) as r5
from q
group by rollup(q.id_delivery)) z1
join
(select q1.id_delivery
, count(distinct q1.id_agent) as r6
, sum(case when q1.ID_type = 1 then 1 else 0 end) as r7
, sum(case when q1.ID_type = 1 then q1.amount else 0 end) as r8
, sum(case when q1.ID_type = 2 then 1 else 0 end) as r9
, sum(case when q1.ID_type = 2 then q1.amount else 0 end) as r10
from q1
group by q1.id_delivery) z2 on z1.id_delivery = z2.id_delivery
group by rollup(z1.id_delivery)



автор>>Решение на проходной балл, есть ошибки в результатах.
Так же мне скинули решение, которое они считают близким к идеальному.

Под ошибками подразумевалось то, что я не сделал роллап по дистинкт каунту ;D
...
Рейтинг: 0 / 0
Задача SQL
    #39842975
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда пришлют ответом своё решение, скажи что в итоговой строке они выводят.
Интересно, исправились они или нет.
...
Рейтинг: 0 / 0
Задача SQL
    #39842982
slow brain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliy89, вот им. Они и мне это задание высылали.
Dshedoo https://www.sql.ru/forum/1288307/vakansiya-otchetnost-moskva
Вот это они, как раз это задание и высылали.
...
Рейтинг: 0 / 0
Задача SQL
    #39846375
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slow brain,

Предыдущий кандидат целый год продержался))
...
Рейтинг: 0 / 0
Задача SQL
    #39846403
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slow brainПередайте им, что они поступают не очень этично, отзывая офферы.
зато правильно
Код: sql
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
with tab2(ID_delivery,ID_agent,IS_agent,IS_util,Amount,ID_trade) as (
	select 1,11,'y','y',null,11 from dual union all
	select 1,11,'y','',100,12 from dual union all
	select 1,12,'y','',100,13 from dual union all
	select 1,12,'y','y',null,14 from dual union all
	select 2,12,'y','',100,11 from dual union all
	select 2,12,'','',null,12 from dual union all
	select 2,13,'y','',100,13 from dual union all
	select 2,14,'y','',100,14 from dual union all
	select 2,11,'y','y',null,15 from dual 
), tab3( ID_delivery, ID_agent, ID_type, Amount,ID_trade) as (
	select 1, 52,1,100,1 from dual union all
	select 1, 52,2,100,1 from dual union all
	select 1, 53,1,100,2 from dual union all
	select 1, 58,1,100,3 from dual union all
	select 1, 58,1,100,4 from dual union all
	select 1, 900,1,100,5 from dual union all
	select 1, 900,2,100,5 from dual union all
	select 2, 53,1,100,1 from dual union all
	select 2, 60,1,100,2 from dual 
)
, sales(id_delivery, ID_agent_offline, IS_agent,IS_util,Amount_offline, ID_trade_offline, id_agent_online, id_type, amount_online, id_trade_online) as (
	select id_delivery, ID_agent, IS_agent,IS_util,Amount, ID_trade, null, null, null, null from tab2 
	union all
	select id_delivery, null, null, null, null, null,  ID_agent, ID_type, Amount,ID_trade from tab3
)
select 
	id_delivery, 
	count(distinct id_agent_offline) count_agent_offline, 
	count(distinct decode(is_agent, 'y', id_trade_offline)) count_ship,
	count(distinct decode(is_util, 'y', id_trade_offline)) count_util,
	count(distinct case when is_agent = 'y' and IS_util is null then ID_trade_offline end) count_sell,
	sum(case when is_agent = 'y' and IS_util is null then Amount_offline end) amount_sell,
	count(distinct ID_agent_online) count_agent_online,
	sum(decode(id_type, 1, 1, 2, -1)) count_sell,
	sum(decode(id_type, 1, 1, 2, -1) * Amount_online) sum_sell,
	count(decode(id_type, 2, id_trade_online)) count_canc,
	sum(decode(id_type, 2, amount_online)) sum_canc
from sales
group by rollup(id_delivery);


...
Рейтинг: 0 / 0
Задача SQL
    #39846453
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей
count(distinct id_agent_offline) count_agent_offline,
count(distinct decode(is_agent, 'y', id_trade_offline)) count_ship,
count(distinct decode(is_util, 'y', id_trade_offline)) count_util,
count(distinct case when is_agent = 'y' and IS_util is null then ID_trade_offline end) count_sell,
count(distinct ID_agent_online) count_agent_online,
group by rollup(id_delivery);


Вот о чём я и говорил.
Роллап по дистинкту даст в результате число от max до sum вышестоящих данных, что имеет практическую пользу равную нулю.
...
Рейтинг: 0 / 0
Задача SQL
    #39846474
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dshedoo,

имеет это практическую пользу, или нет, но неправильный роллап - это только первая ошибка в вашем запросе.
вторая - то что вы не сделали FULL JOIN (раз уж вы вообще взялись делать джоин).
...
Рейтинг: 0 / 0
Задача SQL
    #39846491
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейDshedoo,

имеет это практическую пользу, или нет, но неправильный роллап - это только первая ошибка в вашем запросе.
вторая - то что вы не сделали FULL JOIN (раз уж вы вообще взялись делать джоин).

Итоговая строка - это всё таки подведение итогов вышестоящих данных, а не коня в вакууме.
Фулл джоин излишен, исходя из задания.
З.Ы. в "правильном" решении, там тоже не юзается фулл.
...
Рейтинг: 0 / 0
Задача SQL
    #39846505
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DshedooИтоговая строка - это всё таки подведение итогов вышестоящих данных, а не коня в вакууме.
все верно. я посчитал общее число агентов, совершивших офлайн-продажи, и общее число фактов офлайн-продаж. что именно посчитали вы?
...
Рейтинг: 0 / 0
Задача SQL
    #39846509
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DshedooЗ.Ы. в "правильном" решении, там тоже не юзается фулл. допустим. но вы, как опытный специалист, рассуждающий о практической пользе, могли бы подумать: "хмм, мое решение предполагает, что в каждой поставке должно быть как минимум по одной онлайн и офлайн продаже, иначе эта поставка просто не попадет в отчёт... что-то тут не так"
...
Рейтинг: 0 / 0
Задача SQL
    #39846567
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейDshedooИтоговая строка - это всё таки подведение итогов вышестоящих данных, а не коня в вакууме.
все верно. я посчитал общее число агентов, совершивших офлайн-продажи, и общее число фактов офлайн-продаж. что именно посчитали вы?

А я вывел итоговую строку.
Итоговая строка - это результат агрегирования вышестоящих данных.
У вас есть набор данных, которые вы агрегируете, а потом делаете агрегацию агрегированных данных и получаете итоговую строку, так?
Роллап агрегирует изначальные данные, присваивая полю нулл.
И это прокатывает во всех случаях, за исключением агрегации distincta.

кит северных морейDshedooЗ.Ы. в "правильном" решении, там тоже не юзается фулл. допустим. но вы, как опытный специалист, рассуждающий о практической пользе, могли бы подумать: "хмм, мое решение предполагает, что в каждой поставке должно быть как минимум по одной онлайн и офлайн продаже, иначе эта поставка просто не попадет в отчёт... что-то тут не так"

По той же причине, почему вы не написали where id_agent in (1,2).
Ведь ваше же решение предполагает выводить все данные из таблиц, а просят вернуть только 1 и 2 id_agent.
Потому что это просто излишне, исходя из задания.
З.Ы. хватит уже высасывать из пальца, ещё скажите что на нулл надо было проверять каждое поле.
...
Рейтинг: 0 / 0
Задача SQL
    #39846592
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dshedooкит северных морейя посчитал общее число агентов, совершивших офлайн-продажи, и общее число фактов офлайн-продаж. что именно посчитали вы?
А я вывел итоговую строку.
Итоговая строка - это результат агрегирования вышестоящих данных.
Гм... "И ты прав" (с)
Однако, судя по

Dshedooавтор>>Решение на проходной балл, есть ошибки в результатах.
Так же мне скинули решение, которое они считают близким к идеальному.
Под ошибками подразумевалось то, что я не сделал роллап по дистинкт каунту ;D

постановщик имел ввиду агрегацию, отличную от суммирования строк отчета.
В самом деле, пусть зарегистрирована сотня агентов, но реально работает только один.
Должен ли результат в итоге по полю "количество уникальных агентов" выдать "100500" как резульлтат суммирования единички из всех строк отчета?
А что эта цифра будет означать в практическом плане?
В конкретной постановке нарвал (не не белуха же :) выглядит заметно более правым.
...
Рейтинг: 0 / 0
Задача SQL
    #39846595
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DshedooУ вас есть набор данных, которые вы агрегируете, а потом делаете агрегацию агрегированных данных и получаете итоговую строку, так?
нет, не так. group by rollup(column) - это, грубо говоря,
Код: plsql
1.
2.
3.
select column, avg(value) from table group by column 
union all
select null, avg(value) from table


разницу между написанным выше и avg(avg(value)) надо объяснять?

DshedooПотому что это просто излишне, исходя из задания.
З.Ы. хватит уже высасывать из пальца, ещё скажите что на нулл надо было проверять каждое поле.
да ради бога. повторяйте себе это почаще. это вы не можете тестовое задание на сотку в месяц решить, не я.
...
Рейтинг: 0 / 0
Задача SQL
    #39846760
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousДолжен ли результат в итоге по полю "количество уникальных агентов" выдать "100500" как резульлтат суммирования единички из всех строк отчета?

Именно так, потому что мы выводим "ИТОГО" для данных, а не общее кол-во уникальных агентов.

А есть у нас в будут в продажах сотни строк с кол-вом 1-5, а в "итого" выводится 94, то это правильнее?
Или пару миллионов строк, с "2" в итого.

Я к тому, что при таком подходе данные в итоговой строке никак не связаны с вышестоящими данными, поэтому выводить их как "ИТОГО" некорректно.
...
Рейтинг: 0 / 0
Задача SQL
    #39846783
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dshedoo,

вы итого по средним величинам как считать будете? как сумму средних? или как среднее от средних? какой у полученного результата будет практический смысл, кроме того, что он "итого для вышестоящих данных"?
...
Рейтинг: 0 / 0
Задача SQL
    #39846792
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейDshedoo,

вы итого по средним величинам как считать будете? как сумму средних? или как среднее от средних? какой у полученного результата будет практический смысл, кроме того, что он "итого для вышестоящих данных"?

Точно так же, как считает avg() - соотношение суммы к кол-ву.
Только если мы берём не агрегированные данные, то там 1 строка соответствует 1 кол-ву, а в агрегированных данных уже 1 строка не соответствует 1 кол-ву.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with q(id,amt) as (
select 1, 100 from dual union all
select 1, 100 from dual union all
select 2, 100 from dual union all
select 2, 200 from dual union all
select 3, 100 from dual)

, w as (select id, sum(amt) as z, count(*) as x, sum(amt)/count(*) as c, avg(amt) as v from q group by rollup(id))

select * from w
union all
select null, sum(z), sum(x), sum(z)/sum(x), avg(v) from w where id is not null
...
Рейтинг: 0 / 0
Задача SQL
    #39846843
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dshedooandrey_anonymousДолжен ли результат в итоге по полю "количество уникальных агентов" выдать "100500" как резульлтат суммирования единички из всех строк отчета?

Именно так, потому что мы выводим "ИТОГО" для данных, а не общее кол-во уникальных агентов.
Ну и напрасно.
Потому что:
- строка "ИГОГО" не обязана быть СУММОЙ строк отчета. Да, чаще всего именно так. Но не всегда.
- любая цифра в отчете должна иметь практический смысл, заявлянный в шапке отчета.
В частности, в варианте
период количество активных агентов количество операций...май 10 800июнь 8 300...по году 11 1100
число 11 будет иметь реальный практический смысл в отличие от 18
...
Рейтинг: 0 / 0
Задача SQL
    #39846849
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dshedoo
Код: plsql
1.
sum(z)/sum(x)


Ну вот видите, и в Вашем варианте среднее по отчету - не среднее по строкам отчета, а средневзвешенное, т.е. соответствует avg(вся выборка) и не может быть проверено на основе данных отчета, если в выходной форме отсутствует "x".
Таким образом Вы дезавуировали собственное утверждение.
Полагаю, на этом увлекательную дискуссию можно завершать.
...
Рейтинг: 0 / 0
Задача SQL
    #39847250
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliy89,

Прикрепленный файл ты сам рисовал или это задание в таком виде дали?
...
Рейтинг: 0 / 0
Задача SQL
    #39847293
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev,

Они дали.
...
Рейтинг: 0 / 0
Задача SQL
    #39847555
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dshedoo,

Что же у них с реальными задачами творится, если они даже тестовое задание не могут изобразить по человечески ...
...
Рейтинг: 0 / 0
Задача SQL
    #39847569
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev,

нормальное тестовое задание. видите, сколько интересного позволяет узнать о кандидатах?
...
Рейтинг: 0 / 0
Задача SQL
    #39847583
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей,

Что нормального? Что нужен хрустальный шар, чтобы дополнить постановку задачи?
...
Рейтинг: 0 / 0
Задача SQL
    #39847599
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevЧто нормального? Что нужен хрустальный шар, чтобы дополнить постановку задачи?
Образ действий потенциального сотрудника при нечеткой постановке задачи - отдельный пункт, на который собеседующий часто обращает внимание.
...
Рейтинг: 0 / 0
Задача SQL
    #39847605
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev,

хрустальный шар нужен всегда и везде.
...
Рейтинг: 0 / 0
Задача SQL
    #39847644
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейхрустальный шар нужен всегда и везде.
Потер свой хрустальный шар, а он гад такой и спрашивает:
почему amount в одной таблице цена (где количество?), а в другой сумма?
что делать если поставки будут в оффлайн продажах но не будет в онлайн и наоборот, почему этого нет в тестовых данных?
почему пустая результирующая таблица, хочешь то ты старче чего?
да и вообще не мешало бы продемонстрировать пошаговый расчет ручками на тестовых данных по каждому полю строк и итога ...

Осерчал я на шарик хрустальный и запустил им в тыковку автора задачки, жалко ... раскололся шарик, головушка то у автора стоеросовая.
...
Рейтинг: 0 / 0
Задача SQL
    #39847668
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevпочему amount в одной таблице цена (где количество?), а в другой сумма?
что делать если поставки будут в оффлайн продажах но не будет в онлайн и наоборот, почему этого нет в тестовых данных?
это хорошие и правильные вопросы, которые можно (и нужно) задать человеку, отправившему вам тестовое задание, продемонстрировав таким образом сильные стороны соискателя - внимание к деталям и стремление глубоко разобраться в задаче, а не просто закодировать спеку.

другой вариант - прислать решение, в комментарии указав: "в ходе решения задачи возникли следующие вопросы, не оговоренные в постановке; исходя из собственного профессионального опыта принял решение, что данные элементы задачи должны быть реализованы следующим образом". с описанием логики принятия решения. так вы продемонстрируете другие сильные стороны соискателя - способность проявлять инициативу, принимать решение и нести за него ответственность, наличие профессионального опыта и умение применять его на практике.

но, конечно, сказать что постановщик дурак, и не разжевал задачу, всегда проще.
...
Рейтинг: 0 / 0
Задача SQL
    #39847682
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейно, конечно, сказать что постановщик дурак, и не разжевал задачу, всегда проще.
Выполнять работу за постановщика задачи, почему нет, только нужно уточнить один момент, зарплату тоже вместо него получать?
...
Рейтинг: 0 / 0
Задача SQL
    #39847687
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevкит северных морейно, конечно, сказать что постановщик дурак, и не разжевал задачу, всегда проще.
Выполнять работу за постановщика задачи, почему нет, только нужно уточнить один момент, зарплату тоже вместо него получать?никогда не выполняйте чужую работу; делайте только то, что говорит начальство, и именно так, как говорит начальство, не задавая вопросов; сфокусируйтесь исключительно на собственных локальных задачах, не пытаясь увидеть всю картину. это именно те качества, которые больше всего ценятся в специалисте.

тестовые задания, кстати, делать не надо - за них тоже зарплату не платят.
...
Рейтинг: 0 / 0
Задача SQL
    #39847715
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей,

Понимаю ваш сарказм, но есть другая сторона медали - "дашь палец, руку откусят".
...
Рейтинг: 0 / 0
Задача SQL
    #39847721
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev,

это всё ерунда. вы становитесь лучше только в том, чем вы занимаетесь регулярно. пока вы регулярно решаете профессиональные задачи разных направлений, и растете как специалист, откусыватели рук растут только в умении спихивать работу друг на друга.

кто из вас в будущем будет востребован на рынке труда, а кто будет зубами держаться за свое единственное рабочее место - судите сами.
...
Рейтинг: 0 / 0
Задача SQL
    #39847911
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей,

Интересно почему в таком случае "откусыватели рук" занимают высокие посты директоров департаментов и заместителей генеральных директоров, а вот специалисты разных направлений пашут за себя и за того парня?

Больше всех в колхозе работала лошадь, но председателем так и не стала.
...
Рейтинг: 0 / 0
Задача SQL
    #39847986
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev,

я знаю достаточно директоров департаментов, которые в своё время были очень сильными специалистами. не вижу тут никакой связи.
...
Рейтинг: 0 / 0
40 сообщений из 40, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Задача SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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