Задать вопрос
Qairat
@Qairat
frontend developer, angular 2+

Как исправить ошибку в процедуре MsSQl?

Всем Привет!
Не могу понять ошибку
Выходит такая ошибка:
Столбец "PersonalType.Title" недопустим в списке выбора, поскольку он не содержится ни в агрегатной  функции, ни в предложении GROUP BY.

А вот код процедуры:
CREATE PROCEDURE GetObjectPersonalAnalysis
@ObjectId BIGINT
AS
BEGIN
    SELECT
    p.PersonalTypeId,
    pt.Title,
    SUM(p.Fact) as Fact,
    SUM(p.[Plan]) as [Plan],
    ( SUM(p.[Plan]) - SUM(p.Fact) ) as Deficit,
    (
        CASE
            WHEN SUM(p.Fact) > SUM(p.[Plan]) THEN ((SUM(p.[Plan])) / (SUM(p.Fact))) * 100 
            WHEN SUM(p.Fact) < SUM(p.[Plan]) THEN ((SUM(p.Fact)) / (SUM(p.[Plan]))) * 100
            ELSE 100
        END
    ) as MAPPING
	FROM Personals p 
    JOIN PersonalType pt
    ON p.PersonalTypeId = pt.Id
    WHERE (p.OrganizationDepartmentId = @ObjectId ) OR (p.OrganizationId = @ObjectId AND (p.OrganizationDepartmentId = 0 OR @ObjectId IS NULL))
    GROUP BY p.PersonalTypeId;
END
  • Вопрос задан
  • 604 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
GROUP BY p.PersonalTypeId;

GROUP BY p.PersonalTypeId, pt.Title
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы