Я пытаюсь выполнить SQL-запрос в снежинке, чтобы подсчитать значения из другой таблицы на основе значения из первой таблицы. Например, я нахожу значение, которое совпадает с таблицами table1 и table2, и подсчитываю соответствующие ему строки из таблицы 2.
Когда я пытаюсь это сделать, запрос выполняется, но полученные данные неправильно подсчитываются. Похоже, что он делает какой-то нечетный прорыв / совокупный подсчет. Я пытался читать примеры и гуглить для примеров, подобных этому, но что интересно, в SQL без снежинок, примеры, которые я видел, не должны «группировать» по количеству, которое я пытаюсь выбрать.
В снежинке это выдает мне ошибку, если я не сгруппирую (выберите count () из ... Но выполнение этого, похоже, возвращает результат, который слишком много подсчитывает / суммирует значение, когдаЯ удаляю это (выберите count () ... row и group by, он делает все остальное правильно, поэтому я предполагаю, что там что-то определенно не так.
select
"naming_db"."public"."username".name as "Name",
"naming_db"."public"."addresses".address as "Address",
count(*) as "Shoe Count",
(select count(*) from "data_db"."records"."orderID" where
"data_db"."records"."orderID".ID = "data_db"."records"."userinfo".ID) as "Orders",
sum("data_db"."records"."userinfo".revenue) as "Spend"
from "data_db"."records"."userinfo"
join "naming_db"."public"."username" on "naming_db"."public"."username".name = "data_db"."records"."userinfo".nameid
join "naming_db"."public"."addresses" on "naming_db"."public"."addresses".address = "data_db"."records"."userinfo".addressid
full join "data_db"."records"."orderID" on "data_db"."records"."userinfo".ID = "data_db"."records"."orderID".ID
group by 1,2,4
((выберите количество (*) из ... строки Я думаю, что это проблема, но я не могу понять, как написать ее так, чтобы запрос выполнялся и возвращал результаты, которые я хочу.
Просто отредактировал запрос, чтобы сделать его более понятным. Пытался запутать некоторую информацию там, но я понял, что это слишком запутанно, извините!
Вот результаты, которые я хотел бы получить. Я получаю это, когда удаляюСтрока «Заказы» - та, которая есть (выберите количество (*) из ...
Правильные, но отсутствующие заказы
Вот результаты, которые я получаю, когдаЯ добавляю в эту строку для «Заказы»: Неправильное суммирование и разрывы oно больше строк