维过滤

阅读(394) 标签: 过滤, filter,

语法描述:

SELECT …

ON D AS A WHERE …

FROM T BY T.F.....

参数说明:

D

A

D的别名,AS可省略

WHERE…

基于D写的过滤条件

BY  T.F

分组字段

 

注:表间关系可参考连接章节中的数据结构图

SELECT  ReturnedPmt.sum(Amount) Pamount,Orders.sum(Amount) Oamount

ON  year

WHERE year>2011

FROM Orders BY ShipDate#year

UNION ReturnedPmt BY Date#year

year维进行过滤,取回款日期和发货日期在2011年之后的回款总额和订单总额

SELECT ReturnedPmt.sum(Amount) Pamount,Orders.sum(Amount) Oamount

ON EMPLOYEE  WHERE ([1,5,9]).contain(EMPLOYEE.EmpID )

FROM Orders BY EmployeeID

UNION ReturnedPmt BY SellerID

根据维EMPLOYE对齐ReturnedPmt表与Orders,维过滤条件是维字段EmpID序列[ 1,5,9]的成员

 

知识点:

1) ON后面写过滤条件,对维进行过滤的条件会直接作用于与ON对齐的每个BY的字段中

2) 维过滤条件where中除了常规的大于,小于,等于等单值判断,还可以使用集算器函数

如果在多表连接中,多表的字段指向一个维,则维后面的过滤条件,将会在所涉及的每一个表中进行过滤