powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Группировка по вычисляемому на основе запроса полю?
8 сообщений из 8, страница 1 из 1
Группировка по вычисляемому на основе запроса полю?
    #39214745
sed77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 SELECT
                    CAST(LEFT(_1SJOURN.DATE_TIME_IDDOC, 8) AS datetime) AS DocDate,
                    _1SJOURN.DocNo,
                    SC46.sp7185,
                    Sum(CASE WHEN (debkred= '1') and (_1SJOURN.IDDOCDEF='410') Then (-SP171)
                    ELSE SP171 END) as balance,
                    case WHEN (debkred= '1') and (_1SJOURN.IDDOCDEF='410') Then '0' 
                    else debkred end
                    as debkred,
                    _1SJOURN.IDDOCDEF,
                    'xxx' as IDDOC
                FROM RA169
                    left outer join _1SJOURN on RA169.IDDoc=_1SJOURN.IDDOC
                    left outer join sc46 on SC46.id=RA169.sp170
                    
                WHERE 
                    (RA169.SP2671 = '     2   ') and (SC46.sp7185 = '13544')
                GROUP BY sp7185, _1SJOURN.DATE_TIME_IDDOC, DocNo, debkred, _1SJOURN.IDDOCDEF


Получается таблица
Код: plaintext
1.
2.
3.
4.
DocDate	                     DocNo       sp7185	            balance	   debkred	IDDOCDEF	IDDOC
2000-01-22 00:00:00.000	02607   	13544        4000.00000	         0	              10	         xxx
2000-01-24 00:00:00.000	02706   	13544       5000.00000           0	               10	         xxx
2000-01-24 00:00:00.000	02706   	13544       -2000.00000          0	              10	         xxx
как сделать чтобы Документы с одинаковым DocNo выводились одной строкой balance суммировался
Код: plaintext
1.
2.
3.
DocDate	                     DocNo       sp7185	            balance	   debkred	IDDOCDEF	IDDOC
2000-01-22 00:00:00.000	02607   	13544        4000.00000	         0	              10	         xxx
2000-01-24 00:00:00.000	02706   	13544       3000.00000           0	               10	         xxx
...
Рейтинг: 0 / 0
Группировка по вычисляемому на основе запроса полю?
    #39214912
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sed77как сделать чтобы Документы с одинаковым DocNo выводились одной строкой balance суммировался
Ну как бы добавить DocNo в выражение группировки и обернуть balance в SUM...
...
Рейтинг: 0 / 0
Группировка по вычисляемому на основе запроса полю?
    #39215353
sed77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я извиняюсь, можно по подробнее, я пока с SQL на вы)))
...
Рейтинг: 0 / 0
Группировка по вычисляемому на основе запроса полю?
    #39215570
Близнец1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sed77,

Попробуй вместо
Код: sql
1.
GROUP BY sp7185, _1SJOURN.DATE_TIME_IDDOC, DocNo, debkred, _1SJOURN.IDDOCDEF


вот так
Код: sql
1.
GROUP BY sp7185, DocNo, debkred, _1SJOURN.IDDOCDEF



Вообще - то 1С с MySQL не работает, а это MSSQL. Самописный запрос или 1С его так делает?
...
Рейтинг: 0 / 0
Группировка по вычисляемому на основе запроса полю?
    #39216004
sed77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cамописный, выполняется не из 1с
...
Рейтинг: 0 / 0
Группировка по вычисляемому на основе запроса полю?
    #39216011
sed77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столбец "_1SJOURN.DATE_TIME_IDDOC" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
...
Рейтинг: 0 / 0
Группировка по вычисляемому на основе запроса полю?
    #39216215
Близнец1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sed77Столбец "_1SJOURN.DATE_TIME_IDDOC" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
Редко работаю с MSSQL, это из-за
Код: sql
1.
CAST(LEFT(_1SJOURN.DATE_TIME_IDDOC, 8) AS datetime) AS DocDate

поэтому это нельзя убрать из group by.
Посмотрел внимательней, как могло так получиться:

DocDate DocNo sp7185 balance debkred IDDOCDEF IDDOC
2000-01-22 00:00:00.000 02607 13544 4000.00000 0 10 xxx
2000-01-24 00:00:00.000 02706 13544 5000.00000 0 10 xxx
2000-01-24 00:00:00.000 02706 13544 -2000.00000 0 10 xxx

если группировки по balance нет?

Попробуйте типа такого тогда:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT DocDate, DocNo, sp7185, Sum(balance) AS balance, debkred, IDDOCDEF, IDDOC FROM 
(SELECT
                    CAST(LEFT(_1SJOURN.DATE_TIME_IDDOC, 8) AS datetime) AS DocDate,
                    _1SJOURN.DocNo,
                    SC46.sp7185,
                    Sum(CASE WHEN (debkred= '1') and (_1SJOURN.IDDOCDEF='410') Then (-SP171)
                    ELSE SP171 END) as balance,
                    case WHEN (debkred= '1') and (_1SJOURN.IDDOCDEF='410') Then '0' 
                    else debkred end
                    as debkred,
                    _1SJOURN.IDDOCDEF,
                    'xxx' as IDDOC
                FROM RA169
                    left outer join _1SJOURN on RA169.IDDoc=_1SJOURN.IDDOC
                    left outer join sc46 on SC46.id=RA169.sp170
                    
                WHERE 
                    (RA169.SP2671 = '     2   ') and (SC46.sp7185 = '13544')
                GROUP BY sp7185, _1SJOURN.DATE_TIME_IDDOC, DocNo, debkred, _1SJOURN.IDDOCDEF) 
AS tmp GROUP BY sp7185, DocDate, DocNo, debkred, IDDOCDEF, IDDOC 
...
Рейтинг: 0 / 0
Группировка по вычисляемому на основе запроса полю?
    #39216296
sed77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, попробую
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Группировка по вычисляемому на основе запроса полю?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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