Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Запрос  [new]
Olya A
Member

Откуда: Казахстан, г.Усть-Каменогорск
Сообщений: 353
Чувствую себя дауном не могу разобраться с SQL запросом (по нему отбираютя данные для Excel), вернее с последней её частью, не хочет выбрать из табл. Pays 2 поля с одинковой датой и именем покупателя. но разной величной оплаты, берёт тлько первую оплату, хотя я везде пишу ALL (все записи) , может что-то не правлиьно?
SELECT ALL * FROM
(SELECT дата, -2 AS type, №_документа As nDoc, createFullPreparatname_fast([препарат],[форма],[дозировка],[№№]) AS fullname, количество, -[цена_прод] AS price, -[количество]*[цена_прод] AS nsum, Null As pay, Null as payKind FROM операции
WHERE операции.покупатель=~$CUSTOMER$~ And операция=2 And Not accOnly And дата<=~$TILL$~ And дата>=~$FROM$~
UNION ALL SELECT дата, 1 AS type, №_документа As nDoc, createFullPreparatname_fast([препарат],[форма],[дозировка],[№№]) AS fullname, количество, [цена_зак] AS price, [количество]*[цена_зак] AS nsum, Null As pay, Null as payKind FROM операции
WHERE операции.поставщик=~$VENDOR$~ And операция=0 And дата<=~$TILL$~ And дата>=~$FROM$~)

UNION ALL SELECT * FROM
(SELECT дата, -1 AS type, Nz(№_документа,0) AS nDoc, Null AS fullname, Null AS Количество, Null AS price, Null AS nsum, сумма AS pay, payKinds.name AS payKind
FROM pays LEFT JOIN payKinds ON pays.вид_оплаты = payKinds.code
WHERE pays.операция=2 AND клиент=~$CUSTOMER$~ And дата<=~$TILL$~ And дата>=~$FROM$~
UNION ALL SELECT дата, 2 AS type, Nz(№_документа, 0) As nDoc, Null AS fullname, Null As Количество, Null AS price, Null AS nsum, -сумма AS pay, payKinds.name AS payKind
FROM pays LEFT JOIN payKinds ON pays.вид_оплаты = payKinds.code
WHERE операция=0 And клиент=~$VENDOR$~ And дата<=~$TILL$~ And дата>=~$FROM$~)


ORDER BY дата, type, nDoc

p.s.Exl файл я прикрепила, а табл. pays имеет следующ. пля:
№_документа, дата, вид_оплаты, клиент, сумма, операция, комментарий

К сообщению приложен файл (алексеев.xls - 21Kb) cкачать
21 июл 05, 10:19    [1722886]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
маленький совет: по очереди отладь каждый запрос, включенный в union
21 июл 05, 11:15    [1723147]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Olya A
Member

Откуда: Казахстан, г.Усть-Каменогорск
Сообщений: 353
Хороший совет, хоть и маленький.
Я так и сделала, запрос работает правильно, но в Excel всё равно ошибка, буду ковырять код.
22 июл 05, 11:13    [1726889]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить