SQL запрос к DBF из Excel - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день .
Помогите объединить таблицы и получить сумму по каждому наименованию.
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 ..
Помогите ,как верно написать запрос.

Решение задачи: «SQL запрос к DBF из Excel»

textual
Листинг программы
<font color="teal">"SELECT TmpA.ACP,TmpA.GP,TmpO.SUMA "</font> _
        & <font color="teal">"FROM "</font> _
        & <font color="teal">"(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 "</font> _
        & <font color="teal">"LEFT JOIN "</font> _
        & <font color="teal">"(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 "</font> _
        & <font color="teal">"ON TmpA.ACP = TmpO.OCP "</font> _

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5