Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL Запрос [D7]


Wolferio ©   (2006-10-02 16:24:00) 

Добрий день!
Помогите, а то розобраться не могу.
Есть поле Schet, и поле Summa.
Например в поле Schet (тип String) такие данние:
557768995
557723232
446623479
452093847
323200000
434343433
323200033
Как можно запросом сгрупировать по первым 4 символам и найти их суму.
Спасибо!


dr Gonzo   (2006-10-03 14:32:00) [1]

У тебя IB не находит функцию SubStr.  Я проверял на FB 1.5xx - 100% работающий код при подключении UDF ib_udf.dll.

Короче говоря, тебе нужна функция на SQL - уж не знаю как она называется, которая отрежет от строки первые 4 символа.


Wolferio   (2006-10-03 13:18:00) [2]


> там тож самое только RIGHT заменит на RPAD или SubStr

RIGHT - ишибка Invalid Use of keyword RIGHT(SChet,   .
При использовании RPAD или SubStr ошибка: Capability not supported.
Что не так?
Спасибо!


dr Gonzo   (2006-10-02 18:50:00) [3]

Посмотрел я FB, там нужно использовать UDF SUBSTR
Соответственно будет так:

SELECT SUBSTR(SChet, 1, 4 ) AS Schet,
         SUM(Summa)      AS Summ
FROM TableName
GROUP BY SUBSTR(SChet, 1, 4 )
ORDER BY SChet


dr Gonzo   (2006-10-02 18:18:00) [4]

там тож самое только RIGHT заменит на RPAD или SubStr


Wolferio   (2006-10-02 17:56:00) [5]


> СУБД какая


InterBase


dr Gonzo   (2006-10-02 17:42:00) [6]

Реализация MSSQL (любая)


SELECT RIGHT(SChet, 5) AS Schet,
          SUM(Summa)      AS Summ
FROM @Table
GROUP BY RIGHT(SChet, 5)
ORDER BY SChet


Собственно RIGHT(....) - вырезает как раз первые NN символов и делает по ним группировку. Подобные функции должны быть в любой СУБД.


Desdechado   (2006-10-02 16:54:00) [7]

Сумму счетов или сумму по счетам?
СУБД какая, тебя спрашивают?


Shaman_   (2006-10-02 16:53:00) [8]

SELECT SUM(Summa)
FROM TableName
WHERE Shet LIKE "5577" "%"
?


Wolferio   (2006-10-02 16:43:00) [9]

Найти суму счетов, которые сгрупированы по первым четырем символам тоисть из этой базы, например:
Schet        Summa
557768995  10.01
557723232    9.00

446623479    3.09
452093847    2.08
323200000    1.00
434343433    2.00
323200033    5.05
должно получиться следующее:
schet        summa
5577        19.01    
4466         3.09
4520         2.08
3232         6.05
4343         2.00


stone   (2006-10-02 16:27:00) [10]

Какая СУБД? НАйти сумму чего?


Наверх

Титульная страница Поиск, карта сайта Написать письмо