powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Интересный запрос с группировкой в DBF
8 сообщений из 8, страница 1 из 1
Интересный запрос с группировкой в DBF
    #38689777
DeViLsssss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть проблема, бьюсь долго, может чего не знаю.
Дана DBF таблица:
Tbl ( Id, Values )
1 10
2 15
3 20
4 25

Необходимо !одним! запросом выбрать записи, у которых общая сумма по полю Values равна заданному значению.
Т.е.
Кол-во Результат
30 (1, 3)
45 (1, 2, 3)
70 (1, 2, 3, 4)

Курсором сделать не вопрос, но необходим именно запрос, совместимый с dBase драйвером.

Простой группировкой здесь не обойтись, пробовал использовать по-разному, в итоге запутался совсем.

Прошу помощи.
...
Рейтинг: 0 / 0
Интересный запрос с группировкой в DBF
    #38689956
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeViLsssssно необходим именно запрос, совместимый с dBase драйверома этот "драйвер" поддерживает having?
...
Рейтинг: 0 / 0
Интересный запрос с группировкой в DBF
    #38690003
DeViLsssss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поддкрживает, номкакое выражение туда поставить, если
sum(values) =70, то это из за группировки не будет выполняться, т.к. id уникально.
...
Рейтинг: 0 / 0
Интересный запрос с группировкой в DBF
    #38691598
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeViLsssss,

прошу прощения, не врубился в задачу, хэвинг тут ни при чём. Решение вида
сумма;ид30;130;3сделать запросом можно. Так, как вы хотите, фокс-скл не умеет (да и зачем оно вообще в таком виде, неясно).
...
Рейтинг: 0 / 0
Интересный запрос с группировкой в DBF
    #38692020
DeViLsssss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,
я использую стандартный Microsoft dBase driver. (он поддерживает стандарт SQL-92)
Мне для вывода необходимо исключительно поле Id.
Может дашь хотя бы наводку куда копать?
...
Рейтинг: 0 / 0
Интересный запрос с группировкой в DBF
    #38692259
DeViLsssss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для T-SQL можно использовать SUM(Values) over (partition by Values).
Можно ли обойтись без него?
...
Рейтинг: 0 / 0
Интересный запрос с группировкой в DBF
    #38692612
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeViLsssssДля T-SQL можно использовать SUM(Values) over (partition by Values).
Можно ли обойтись без него?а как вы собираетесь это использовать? я вижу такое решение:
для нахождения пар ид:
Код: sql
1.
2.
3.
4.
select t1.id,t2.id
from tbl t1
join tbl t2 on t1.id<t2.id
where t1.val+t2.val=30

для нахождения троек ид:
Код: sql
1.
2.
3.
4.
5.
select t1.id,t2.id,t3.id
from tbl t1
join tbl t2 on t1.id<t2.id
join tbl t3 on t2.id<t3.id
where t1.val+t2.val+t3.val=30

и т.д.
...
Рейтинг: 0 / 0
Интересный запрос с группировкой в DBF
    #38693645
DeViLsssss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Спасибо, решение верное для известного количества итоговых значений.
у меня количество слагаемых может быть от 1 до размера заданного массива..
Сделал методом перебора(наподобие задачи заполнения рюкзака).
Еще раз Спасибо)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Интересный запрос с группировкой в DBF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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