维过滤

阅读(711) 标签: 过滤, 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)  在多表连接中,多表的字段指向一个维,则维后面的过滤条件,将会在所涉及的每一个表中进行过滤。