У меня есть пара таблиц, из которых я хочу выбрать.Я также хочу использовать sum () для одной из таблиц.Вот что я получил до сих пор.
DROP TABLE ... IF EXISTS
CREATE TABLE ... IF EXISTS AS
SELECT
fbp.*
bcs.yyyy_mm_dd,
cspd.*,
FROM xxx.fbp fbp
INNER JOIN table2 st ON (fbp.id = st.xml_id)
INNER JOIN (
SELECT
CASE
WHEN (field1) IS NULL THEN 0
ELSE SUM(field1)
END AS field1
FROM table2 bcs
WHERE yyyy_mm_dd >= '2019-04-21'
GROUP BY bcs.column_id
) AS bcs ON bcs.column_id = fbp.id
INNER JOIN table3 cspd ON (fbp.id = cspd.id)
WHERE bcs.yyyy_mm_dd >= '2019-04-21'
AND cspd.yyyy_mm_dd >= '2019-04-21'
AND (st.id IN (9)) AND (st.date IS NULL);
Когда я запускаю этот запрос, я получаю следующую ошибку.
Выражение отсутствует в ключе GROUP BY 'field1'.
Когда я добавляю field1
в GROUP BY, я получаю другую ошибку.
Я ищу, чтобы мой набор данных был суммой (field1), сгруппированной по hotel_idа затем другие метрики, которые я выбрал.Это должно дать мне ежедневную сумму вместе с некоторыми другими метаданными.Как этого достичь?