Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли написать такой запрос?
|
|||
|---|---|---|---|
|
#18+
Нужно, что бы в гупповом запросе по некоторым полям делалаь группировка, в некоторых стояли агрегатные функции(например, SUM), а для одного из текстовых полей выполнялась конкатенация значений (например, что бы все значения, которые попадают в группу выводились через запятую) Например, имеются ряд строк: 3,4,1, тра-ля-ля 3,4,1, ку-ку 3,5,3, ой и т. д. Надо, чтобы результирующий запрос выдавал: 3,4,2, тра-ля-ля, ку-ку 3,5,3, ой Вот такая вот задачка.... Спасибо всем, кто откликнется)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2001, 10:45 |
|
||
|
Можно ли написать такой запрос?
|
|||
|---|---|---|---|
|
#18+
в агрегат невозможно засунуть поле символьного типа, поэтому открываешь курсор по запросу select f1,f2,f3,f4 from .. ORDER BY f1,f2,f3 а в цикле собираешь результирующую строку по полю f4, следя за изменением предыдущих полей Если же тип поля f4 - численный, то проще некуда: select sum(f4) from ... where ... group by f1,f2,f3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2001, 11:07 |
|
||
|
Можно ли написать такой запрос?
|
|||
|---|---|---|---|
|
#18+
почитайте, где-то там в конце есть нормальное решение(правда для 2000-го) http://www.sql.ru/cgi-bin/UltraBoard/UltraBoard.pl?Action=ShowPost&Board=mssql&Post=1181&Idle=365&Sort=0&Order=Descend&Page=0&Session= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2001, 12:31 |
|
||
|
Можно ли написать такой запрос?
|
|||
|---|---|---|---|
|
#18+
Вот одно CREATE FUNCTION Test (@where int) RETURNS varchar(100) AS BEGIN declare @string varchar(100) set @string = '' select @string = @string + s + ', ' from tmp where su = @where RETURN @string END GO create table tmp (su int, s varchar(10)) declare @s varchar(10) insert into tmp select 1, 'a' insert into tmp select 1, 'b' insert into tmp select 2, 'b' insert into tmp select 2, 'c' insert into tmp select 2, 'd' declare @tmp1 table (su1 int, su2 int, string varchar(100)) declare @string varchar(100) set @string = '' insert into @tmp1 select su, (select sum(su) from tmp where su = t1.su), '' from tmp t1 update @tmp1 set string = dbo.Test(su) from tmp t where t.su = su1 select su2, string from @tmp1 group by su2, string drop table tmp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2001, 03:00 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1825304]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
5ms |
get forum data: |
2ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 322ms |

| 0 / 0 |
