10.11.2005, 10:16 | #1 |
MCTS
|
Агрегирование с фильтром
Доброе время суток, All.
Есть следующая простенькая задачка. Необходимо просуммировать данные в одной таблице, наложив фильтр на другую таблицу, связанную с первой. Возьмем для примера SalesLine и SalesTable. Код: select sum(SalesQty) from SalesLine join SalesTable where SalesTable.SalesId == SalesLine.SalesId && SalesTable.DeliveryDate <= today(); |
|
10.11.2005, 10:21 | #2 |
Lean Six Sigma
|
select sum(SalesQty) from SalesLine
exists join SalesTable where SalesTable.SalesId == SalesLine.SalesId && SalesTable.DeliveryDate <= today(); |
|
10.11.2005, 10:23 | #3 |
Lean Six Sigma
|
а проблема простая и компилятор Вам об этом сказал - выражение join SalesTable транслируется в select * from SalesTable , а у Вас используется агрегирование.
|
|
10.11.2005, 10:25 | #4 |
MCTS
|
Да, с exists join все работает, спасибо.
Интересно, почему не работает с inner join? |
|
10.11.2005, 10:30 | #5 |
MCTS
|
стоило написать так:
select sum(SalesQty) from SalesLine join count(recId) from SalesTable where SalesTable.SalesId == SalesLine.SalesId && SalesTable.DeliveryDate <= today(); и заработало с inner join. |
|
11.11.2005, 04:02 | #6 |
Участник
|
А лучше так
select sum(SalesQty) from SalesLine join tableid from SalesTable where SalesTable.SalesId == SalesLine.SalesId && SalesTable.DeliveryDate <= today(); см. http://www.axforum.info/forums/showt...&threadid=3411 |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Вызов формы с заранее заданым фильтром. | 22 | |||
Проблема с фильтром на report | 0 | |||
лукап-форма с доп. фильтром | 10 | |||
Как организовать товар с фильтром | 1 |
|