![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Какая СУБД? НАйти сумму чего?