powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сложный SQL
6 сообщений из 6, страница 1 из 1
Сложный SQL
    #32263590
MoneyM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите чайнику, что то не получается

Есть 2 таблицы

s_upr - справочник филиалов

cod name
-------------------
01 Московская обл.
02 Свердловская
03 Иракская
04 Чечня



B_trfor


filtrans reccod summa operation operationr
0101 RU 300.00 1 1
0102 US 500.00
0201 BY 100.00
0301 IT 700.00


s_upr = left(filtrans,2)

Надо найти сумму переводов отдельно по СНГ и по зарубежье.


и еще есть такие случаи когда поле reccod может принимать числовые значения, эти значения надо игнорировать.


Нижеследующие коды че то не работают :( хэлп хэлп

СНГ

select t1.cod,t1.name,sum(t2.summa) from s_upr t1, B_trfor t2 where t2.operation=1 and t2.operationr=1 and t1.cod=left(t2.filtrans,2) and (t2.reccod='RU' or t2.reccod='BY' or t2.reccod='KG' or t2.reccod='TJ') and t2.senddate>=d1 and t2.senddate<=d2 group by t1.cod into table sng_sum



Зарубежье

select t1.cod,t1.name,count(t1.cod) from s_upr t1, B_trfor t2 where t2.operation=1 and t2.operationr=1 and t1.cod=left(t2.filtrans,2) and t2.senddate>=d1 and t2.senddate<=d2 and (t2.reccod<>'RU' or t2.reccod<>'BY' or t2.reccod<>'KG' or t2.reccod<>'TJ') group by t1.cod into table zar_cnt
...
Рейтинг: 0 / 0
Сложный SQL
    #32263639
bdv9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит не работают:
Неправильно суммируют или ошибка?
...
Рейтинг: 0 / 0
Сложный SQL
    #32263656
MoneyM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не правильно суммирует :((
...
Рейтинг: 0 / 0
Сложный SQL
    #32263753
bdv9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый Select должен работать нормально.
Во втором Select'е
замени
Код: plaintext
(t2.reccod<>'RU' or t2.reccod<>'BY' or t2.reccod<>'KG' or t2.reccod<>'TJ')

на
Код: plaintext
(t2.reccod<>'RU' and t2.reccod<>'BY' and t2.reccod<>'KG' and t2.reccod<>'TJ')
...
Рейтинг: 0 / 0
Сложный SQL
    #32263834
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не маятся с наборами значений используй функцию Inlist()

InList(t2.reccod,'RU','BY','KG','TJ')

Или в строгом синтаксисе SQL опцию IN

t2.reccod IN ('RU','BY','KG','TJ')

Соответсвенно, если надо чтобы значение НЕ входило в список добавляешь NOT

NOT InList()

или

t2.reccod NOT IN ('RU','BY','KG','TJ')

Единственное ограничение для символьных данных - это количество символов как в самом поле, так и в каждом из возможных значений должно быть одинаково. Иначе возможны недоразумения.

Да, еще, есть ограничение на количество значений в InList() - сколько конкретно зависит от версии FoxPro - читай в описании к этой функции.
...
Рейтинг: 0 / 0
Сложный SQL
    #32263854
MoneyM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо больше, ВладимирМ!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сложный SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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