Количество SQL скрипт не работает, как ожидалось на агрегированных данных
Дорогие все,
У меня есть эта хранимая процедура, которая возвращает агрегированные данные, и я столкнулся с проблемой, прошло некоторое время с тех пор, как я работал над SQL-скриптами, я хотел подсчитать столбец, который имеет более одной частоты, однако вывод скрипта не таков, как я хотел.
Пример сценария выглядит следующим образом:
Примечание: Для удобства я изменил настоящие названия таблиц...
Пожалуйста, не стесняйтесь, если у вас, ребята, есть какие-либо вопросы или объяснения.
заранее спасибо
Что я уже пробовал:
BEGIN DECLARE @AppSettings TABLE(Name NVARCHAR(50) NULL) INSERT INTO @AppSettings SELECT SettingName FROM ApplicationSetting DECLARE @Users TABLE(Name NVARCHAR(50) NULL) INSERT INTO @Users SELECT UserName FROM UserProfile DECLARE @Activities TABLE(Name NVARCHAR(50) NULL) INSERT INTO @Activities SELECT Name FROM StateTemplate SELECT Table2.Name AS ActivityName, -- Count(Table2.Name) AS ActivityCount, -- Frequency Table1.PerformedBy, -- Table4.SettingName FROM Table1 INNER JOIN Table5 ON Table1.ParentBusinessProcessID = Table5.BusinessProcessID INNER JOIN Table3 ON Table5.ProcessTypeID = Table3.ProcessTemplateID INNER JOIN Table2 ON Table3.ProcessTemplateID = Table2.ParentProcessTemplateID INNER JOIN Table4 ON Table3.ProcessTemplateID = Table4.SettingValue WHERE Table4.SettingName IN (SELECT * FROM @AppSettings) AND Table1.PerformedBy IN (SELECT * FROM @Users) --AND Table2.Name In (SELECT * FROM @Activities) GROUP BY Table2.Name, Table1.PerformedBy, Table4.SettingName ORDER BY PerformedBy END
Wrong OUTPUT ZZ 8 userNameX AA ZZ 4 userNameX BB YY 8 userNameX AA YY 4 userNameX BB XX 8 userNameX AA XX 4 userNameX BB WW 8 userNameX AA WW 4 userNameX BB VV 8 userNameX AA VV 4 userNameX BB
CHill60
Образец сведения помогли бы
jamuro77
Было бы необходимо узнать больше, по крайней мере, о двух вопросах:
1) Какой правильный набор результатов вы ищете?
2) Дополнительная информация о данных в таблицах
Yonathan1111
хорошо, я опубликую, как могут выглядеть правильные данные позже.