Size: a a a

2020 February 13

VS

Vasily S. in sql_ninja
Алиаса у вложенного запроса не хватает
источник

VS

Vadim Shatalov in sql_ninja
select * FROM () as _alias_
источник

M

Michael S. in sql_ninja
Vasily S.
Алиаса у вложенного запроса не хватает
Я дописал... в сообщ в 0:30
источник

VS

Vasily S. in sql_ninja
перед груп баем который должен быть
источник

VS

Vasily S. in sql_ninja
SELECT ids, SUM(sum1) FROM () as a
GROUP BY ids
источник

M

Michael S. in sql_ninja
ааа
источник

M

Michael S. in sql_ninja
Katerina Antonova
спасибо все равно за помощь 🙈
Michael S., [13.02.20 00:30]
 SELECT ids, SUM(sum1) FROM (
select id as ids, sum as sum1 FROM sales WHERE goods_group = 'accessoire'
UNION ALL
select id as ids, sum as sum1 FROM sales WHERE goods_group = 'phone'
)  as a
GROUP BY ids
источник

M

Michael S. in sql_ninja
А это?
источник

M

Michael S. in sql_ninja
попробуй, синий скопипасть
источник

KA

Katerina Antonova in sql_ninja
так он просто сложил все по id
источник

M

Michael S. in sql_ninja
Katerina Antonova
так он просто сложил все по id
эммм ну да!)
источник

M

Michael S. in sql_ninja
а как надо?
источник

VS

Vasily S. in sql_ninja
условие не очень чётко сформулировано, но кажется там case в sum() нужен
источник

VS

Vasily S. in sql_ninja
и столбец именуемый sum это, конечно не хорошо, сделайте в запросе, его в квадратные скобки [], или "" или что там в mysql)
источник

KA

Katerina Antonova in sql_ninja
1) нужно суммировать только те значения, где есть accessoire, но только при условии, что в этом же bill есть phone (номер bill может повторяться в некоторых строчках), ну и группировать по id
2) sum переименовала
источник

VS

Vadim Shatalov in sql_ninja
"мне нужно получить сумму по id только по тем строкам, где goods_group = 'accessoire' и по тем bill, где в одном и том же bill есть 'phone' и 'accessoire'."
вот тут не ясно
WHERE goods_group ='accessoire' and bill = ???
источник

VS

Vadim Shatalov in sql_ninja
SELECT id, SUM(sum)
FROM sales
WHERE goods_group ='accessoire' and bill = 'phone'
GROUP BY id
источник

KA

Katerina Antonova in sql_ninja
где в одном и том же bill  в столбце goods_group есть и 'phone', и 'accessoire'."
в столбце bill номера (не уникальные), а в столбце goods_group только два значения: phone и accessoire
источник

VS

Vasily S. in sql_ninja
Что-то похожее на такое должно получиться, вопрос только в группах в group by.

select id, bill,
sum(case goods_group
when 'phone' then sums
when 'accessoire' then sums end) as s
from sales
group by id, bill
having 2 = count(distinct
case goods_group
when 'phone' then 1
when 'accessoire' then 2
end)

только ещё раз, никогда не давайте имён в виде ключевых слов, на подобие sum. mysql "sum" в case  приводит в 0 даже если экранировать и скобками - пол часа не мог понять в чем дело
С оптимальностью не заморачивался
источник

VS

Vasily S. in sql_ninja
и в ситуации, когда не понятно, хорошо представлять данные до и после
источник