Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос к DBF из Excel / 6 сообщений из 6, страница 1 из 1
12.03.2008, 12:51
    #35184755
GOLF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос к DBF из Excel
Добрый день .
Помогите объединить таблицы и получить сумму по каждому наименованию.
UP_AB:
CP NM
010 Мир
020 BИД
030 РИМ
031 РИМ1

HO_OB:
CP MS VP SUM
01 12 П 10,2
01 12 Д 5,1
01 12 О 12,3
01 1 Ф 6,4
02 12 П 266,4
02 12 Д 26,8
03 12 П 16,4
03 12 Д 61,7

После выполнения SQL запроса :
SELECT OB.CP,AB.NM,OB.SUM FROM UP_AB.DBF AB LEFT OUTER JOIN HO_OB.DBF OB ON (AB.CP = OB.CP+'0') WHERE (OB.MS=12) AND ((OB.VP='П') OR (OB.VP='Д'))
CP NM SUM
01 МИР 10,2
01 МИР 5,1
02 BИД 266,4
02 ВИД 26,8
и Т.Д.
А вот как суммировать значение SUM для каждого СР не пойму.Точнее не срабатывает SUM(OB.SUM) as OSUM (ошибка) ,если выполнить SELECT OB.CP,AB.NM,SUM(OB.SUM) as OSUM ..
Помогите ,как верно написать запрос.
...
Рейтинг: 0 / 0
12.03.2008, 12:55
    #35184776
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос к DBF из Excel
А group by пробовали ?
...
Рейтинг: 0 / 0
12.03.2008, 13:17
    #35184877
GOLF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос к DBF из Excel
Если убрать из запроса для вывода колонку AB.NM
SELECT OB.CP,SUM(OB.SUM) as OSUM .. GROUP BY OB.CP , результат есть. Но мне нужно наименование
...
Рейтинг: 0 / 0
12.03.2008, 14:30
    #35185202
GOLF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос к DBF из Excel
Точнее нужна таблица:
CP NM SUM
01 МИР 15,3
02 BИД 293,2
03

Что не правильно в запросе ?
...
Рейтинг: 0 / 0
13.03.2008, 09:05
    #35186898
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос к DBF из Excel
1)
Код: plaintext
SELECT OB.CP, AB.NM, SUM(OB.SUM) as OSUM .. GROUP BY OB.CP, AB.NM
2)
Код: plaintext
SELECT OB.CP, Max(AB.NM), SUM(OB.SUM) as OSUM .. GROUP BY OB.CP

ИМХО первый вариант более правильный


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
13.03.2008, 16:47
    #35188811
GOLF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос к DBF из Excel
Не сработало GROUP BY OB.CP, AB.NM ,что-то тут не то.
Пошел другим путем .В одном запросе поместил еще два подзапроса ,чтоб наглядней было.
Код: plaintext
1.
2.
3.
4.
5.
6.
       "SELECT TmpA.ACP,TmpA.GP,TmpO.SUMA " _
        & "FROM " _
        & "(SELECT UP_AB.CP as ACP,UP_AB.NM as GR FROM UP_ABNT.DBF as UP_AB where (right(UP_AB.CP,1)='0') order by 1 ) tmpA " _
        & "LEFT JOIN " _
        & "(SELECT HO_OB.CP+'0' as OCP,SUM(HO_OB.SUMM) as SUMA  FROM HO_OBOR.DBF as HO_OB where ((HO_OB.MS=2) AND ((HO_OB.VP='П') OR (HO_OB.VP='Д'))) group by 1 order by 1 ) tmpO " _
        & "ON TmpA.ACP = TmpO.OCP " _

По отдельности каждый выполняется и причем так как и надо .Приложил файл с итогами , а вместе error'13' Type mismath. Что я не учел или не так делаю? Просветите..
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL запрос к DBF из Excel / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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