|
|
|
| Привет всем. Есть несколько таблиц. При составлении запроса получаем следующее:
Товар Стоимость
Пальто 200
Платье 100
Блузка 50
Можно ли сделать так, чтобы в запросе в столбце Стоимость в конце считался итог? | |
|
| |
|
|
|
| в отчете или в примечании формы или посчитать сумму отдельным запросом и объединить с основным c помощью Union | |
|
| |
|
|
|
| посчитать сумму отдельным запросом и объединить с основным c помощью Union |
Можно подробнее? | |
|
| |
|
|
|
| Пишите отдельный запрос с группировкой который будет содержать столько же полей что и основной запрос.
Потом объединяете эти два запроса с помощью UNion
select fld1, fld2 From q1
UNION
select fld1, fld2 From qSum
Еще нужно сортировку подобрать так что бы сумма была последней строкой | |
|
| |
|
28 Кб. |
|
| Я начинающий пользователь Access и пока что умею немногое. Можешь на примере рассказать что нужно сделать?. | |
|
| |
|
10 Кб. |
|
| см. аттач
в след. раз, лучше кусок базы т.к. я не умею делать запросы в MS Word, да и самого Word'a у меня нет.... | |
|
| |
|
|
|
| СПАСИБО!!! ОГРОМНОЕ СПАСИБО!!!! | |
|
| |
|
|
|
| Твой пример очень хороший, особенно СтоимостьСИтогомВариант2ОднимЗапросом, но в нем используется только одна таблица. | |
|
| |
|
|
|
| У меня есть такой запрос:
SELECT CAODealRegs.RegNumber, CAODocs.DocDate, Sum(CAOGiveGoods.Price) AS [Sum-Price]
FROM (CAODealRegs LEFT JOIN CAODocs ON CAODealRegs.ID = CAODocs.DealReg) LEFT JOIN CAOGiveGoods ON CAODocs.ID = CAOGiveGoods.DocID
GROUP BY CAODealRegs.RegNumber, CAODocs.DocDate
HAVING (((CAODocs.DocDate) Like "*2008*") AND ((Sum(CAOGiveGoods.Price)) Is Not Null And Not (Sum(CAOGiveGoods.Price))=0))
ORDER BY CAODocs.DocDate DESC
Используется 3 разных таблицы. Как в этом случае сделать чтобы был итог только в последнем столбце? Нужно этот запрос сохранить и на его основе сделать новый запрос на объединение или можно что-то дописать в этом запросе? | |
|
| |
|
|
|
| кусок базы с нужными таблицами и этим запросом можно? | |
|
| |
|
|
|
| К сожалению, нет. Может попробуешь так обьяснить? | |
|
| |
|
|
|
| Я попробовала сделать так:
SELECT CAODealRegs.RegNumber, CAODocs.DocDate, Sum(CAOGiveGoods.Price) AS [Sum-Price]
FROM (CAODealRegs LEFT JOIN CAODocs ON CAODealRegs.ID = CAODocs.DealReg) LEFT JOIN CAOGiveGoods ON CAODocs.ID = CAOGiveGoods.DocID
GROUP BY CAODealRegs.RegNumber, CAODocs.DocDate
HAVING (((CAODocs.DocDate) Like "*2008*") AND ((Sum(CAOGiveGoods.Price)) Is Not Null And (Sum(CAOGiveGoods.Price))<>0))
ORDER BY CAODocs.DocDate DESC
UNION SELECT "ИТОГО:",Null,Sum(CAOGiveGoods.Price) AS [Sum-Price]
FROM CAOGiveGoods;
Итог считается, но получается сумма всех значений из CAOGiveGoods.Price, т.е. не учитывается то, что мне нужно только за 2008 год. | |
|
| |
|
|
|
| А так?
SELECT CAODealRegs.RegNumber, CAODocs.DocDate, Sum(CAOGiveGoods.Price) AS [Sum-Price]
FROM (CAODealRegs LEFT JOIN CAODocs ON CAODealRegs.ID = CAODocs.DealReg) LEFT JOIN CAOGiveGoods ON CAODocs.ID = CAOGiveGoods.DocID
GROUP BY CAODealRegs.RegNumber, CAODocs.DocDate
HAVING (((CAODocs.DocDate) Like "*2008*") AND ((Sum(CAOGiveGoods.Price)) Is Not Null And (Sum(CAOGiveGoods.Price))<>0))
ORDER BY CAODocs.DocDate DESC
UNION SELECT "ИТОГО:",Null,Sum(CAOGiveGoods.Price) AS [Sum-Price]
FROM CAOGiveGoods where (CAODocs.DocDate Like "*2008*") ;
|
| |
|
| |
|
|
|
| Появляется окно: Введите значение параметра - CAODocs.DocDate. Что это значит? | |
|
| |
|
|
|
| так?
SELECT CAODealRegs.RegNumber, CAODocs.DocDate, Sum(CAOGiveGoods.Price) AS [Sum-Price]
FROM (CAODealRegs LEFT JOIN CAODocs ON CAODealRegs.ID = CAODocs.DealReg) LEFT JOIN CAOGiveGoods ON CAODocs.ID = CAOGiveGoods.DocID
GROUP BY CAODealRegs.RegNumber, CAODocs.DocDate
HAVING (((CAODocs.DocDate) Like "*2008*") AND ((Sum(CAOGiveGoods.Price)) Is Not Null And (Sum(CAOGiveGoods.Price))<>0))
ORDER BY CAODocs.DocDate DESC
UNION SELECT "ИТОГО:",Null,Sum(CAOGiveGoods.Price) AS [Sum-Price]
FROM CAOGiveGoods INNER JOIN CAODocs ON CAOGiveGoods.DocID = CAODocs.ID where (CAODocs.DocDate Like "*2008*") ; | |
|
| |
|