Возникли проблемы с этим запросом. Записи возвращаются, но не сгруппированы через product_id, который я хочу. Если я удалю другие поля из группы по параметру, тогда я получу поле ошибки, не содержащееся в функции group или aggregate.sql question question
Спасибо за помощь
SELECT
o.Product_ID, i.producttitle, i.URLimage,i.price,
i.customfield2, i.season, i.active, i.discontinued,
i.opttitle1, i.opttitle2, i.opttitle3,
SUM(CASE WHEN processdate BETWEEN '2009-08-01 00:00:00.000'
AND '2009-10-31 23:59:00.000'
THEN o.sprice ELSE 0 END) AS totalprice_date1,
SUM(CASE WHEN processdate BETWEEN '2009-11-01 00:00:00.000'
AND '2009-12-31 23:59:00.000'
THEN o.sprice ELSE 0 END) AS totalprice_date2,
SUM(CASE WHEN processdate BETWEEN '2009-08-01 00:00:00.000'
AND '2009-10-31 23:59:00.000'
THEN o.Qty ELSE 0 END) AS qtysold_date1,
SUM(CASE WHEN processdate BETWEEN '2009-11-01 00:00:00.000'
AND '2009-12-31 23:59:00.000'
THEN o.Qty ELSE 0 END) AS qtysold_date2
FROM dbo.getskusold o
inner join imagereport i
on o.product_id = i.product_id
GROUP BY o.Product_ID, i.producttitle, i.URLimage,
i.price, i.customfield2, i.season,
i.active, i.discontinued, i.opttitle1,
i.opttitle2, i.opttitle3
Ваш SQL выглядит корректно. Что вы подразумеваете под словом «они не сгруппированы по product_id»?Не могли бы вы предоставить образец вывода (а), что вы получите, и (б), что вы хотели бы получить? – Heinzi
Его возврат одного и того же продукта более одного раза, когда он должен сочетать продукт, если он имеет тот же product_id. – jeff
Он будет возвращать строку для каждого результата соединения между dbo.getskusold и imagereport ... не уникальную строку для каждого product_id. –