Агрегатная функция T-SQL Логическая ошибка - PullRequest
2 голосов
/ 13 апреля 2010

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

Любая помощь очень ценится

SELECT Gf_Receipt_number AS Reciept,
       SUM (Gf_Amount) AS Total
  FROM [TestP].[dbo].[Gf]
 WHERE Gf_Receipt_number IS NOT NULL
 GROUP BY Gf_Amount

Возможно, поможет упомянуть ошибку, которую я получаю:

Столбец «TestP.dbo.Gf.Gf_Receipt_number» недопустим в списке выбора потому что он не содержится ни в статистической функции, ни в Предложение GROUP BY.

Ответы [ 3 ]

7 голосов
/ 13 апреля 2010

Вам нужно сгруппировать по Gf_Receipt_number вместо Gf_Amount

Предложение GROUP BY указывает, какие столбцы используются для различения одной группы записей от другой, тогда как столбец, используемый в статистических функциях (например, SUM (Gf_Amount)), определяет, как другие столбцы в этих записях объединяются в одно значение .

1 голос
/ 13 апреля 2010

Вы хотели бы добавить GF_Receipt_number в вашу группу, чтобы ошибка исчезла. Группировка по ссылке

1 голос
/ 13 апреля 2010

Возможно, вам следует вместо этого GROUP BY Gf_Receipt_number.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...