powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / GROUP BY
6 сообщений из 6, страница 1 из 1
GROUP BY
    #39839535
IKT_TUT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем!

Хотел объединить все одинаковые строки (например: все строки Александр Пушкин Сергеевич хочу объединить) не смог,
помогите пожалуйста.
Заранее спасибо

ЗАПРОС:

SELECT
tbl.lastName, tbl.firstName, tbl.middleName, tbl.birthYear, tbl.Telefon, tbl.diagnoz, tbl.Address, tbl.lpu_name, tbl.GrupBlood,
tbl.id,
SUM(tbl.dose) as dose,
SUM(tbl.SZPvolume) as SZPvolume,
SUM(tbl.ERZvolume) as ERZvolume,
SUM(tbl.OTMITIvolume) as OTMITIvolume,
SUM(tbl.TMdose) as TMdose,
SUM(tbl.CNPvolume) as CNPvolume,
MONTH(tbl.ProcessEnd) as ProcessEnd,
YEAR(tbl.ProcessEnd) as GOD
FROM (
SELECT
RP.lastName, RP.firstName, RP.middleName, RP.birthYear as birthYear, RP.idNumber as Telefon, RP.comment as diagnoz, Ad.visibleName as Address,
lpu.id as id,
Cast(pr.endDate as Date) as ProcessEnd,

CASE
WHEN lpu.id in (2164530) THEN 111
WHEN lpu.id in (175156057) THEN 222
ELSE 333
END as lpu_name,

CASE WHEN A.id in (225038) THEN CCV.name END as GrupBlood,
CASE WHEN pt.id in (11450,224786,158635140) THEN 1 ELSE 0 END as dose,
CASE WHEN pt.id in (11444,238156,380903) THEN p.volume ELSE 0 END as SZPvolume,
CASE WHEN pt.id in (223671,379098,87912287,224759,224765) THEN p.volume ELSE 0 END as ERZvolume,
CASE WHEN pt.id in (224762) THEN p.volume ELSE 0 END as OTMITIvolume,
CASE WHEN pt.id in (11447,238216,158633675) THEN 1 ELSE 0 END as TMdose,
CASE WHEN pt.id in (378960,158635096) THEN p.volume ELSE 0 END as CNPvolume
FROM Conversion pr
Join Conversion_Unit pp on pp.ConversionId = pr.id
Join Unit p on p.id = pp.UnitId
Join UnitType pt on pt.id=p.UnitTypeId
Left Join Recipient RP on RP.id = pr.RecipientId
Join Customer lpu on lpu.id=pr.CustomerId
Join Address Ad on Ad.id=RP.LivingAddressId
Join AntigenValue AV on AV.RecipientId=RP.id
Join Antigen A on A.id=AV.AntigenId
Join CustomCatalogValue CCV on CCV.id=AV.CustomCatalogValueId
Where pr.ConversionRuleId in (348691,15450246,15474394)
and pr.endDate between '@sdate' and '@edate 23:59:59'
) AS tbl
WHERE tbl.GrupBlood is not null
GROUP BY tbl.lastName, tbl.firstName, tbl.middleName, tbl.birthYear, tbl.Telefon, tbl.diagnoz, tbl.Address, tbl.GrupBlood,
tbl.lpu_name,
tbl.id,
tbl.ProcessEnd

ORDER BY tbl.lpu_name
...
Рейтинг: 0 / 0
GROUP BY
    #39839539
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IKT_TUT,
На вскидку в GROUP BY добавить
Код: sql
1.
2.
MONTH(tbl.ProcessEnd) as ProcessEnd,
YEAR(tbl.ProcessEnd) as GOD
...
Рейтинг: 0 / 0
GROUP BY
    #39839541
IKT_TUT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
GROUP BY
    #39839543
IKT_TUT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor,

не работает)
...
Рейтинг: 0 / 0
GROUP BY
    #39839551
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IKT_TUTне работает)Ошибка "не работаю"?
Пишите про требуемые и фактические данные более подробно, ну и про ошибки.

Вообще, тут всё должно быть просто - те поля, по которым делается агрегация, указываются в GROUP BY, а остальные поля должны использоваться в SELECT в агрегатных функциях.
...
Рейтинг: 0 / 0
GROUP BY
    #39839552
Massa52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IKT_TUT,
Попробуйте в группировке оставить только это
Код: sql
1.
GROUP BY tbl.lastName, tbl.firstName, tbl.middleName
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / GROUP BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]