2012-07-13 60 views
0

我有两个表:展开的OData

T1 with attributes: commonG, g1, g3,g7,g8 
T2 with attributes: commonG, g2,g5,g6 

WHERE T1.commonG是一样T2.commonG, 此查询:

select t1.commonG, T1.g1, T2.g2 
from T1 and T2 
where T1.g3=777 and T1.commonG=T2.commonG 

所以我想用访问此选择数据对于一些g3值,odataquery的

回答

2

OData查询依赖于理解T1.commonG和T2.commonG之间存在外键关系的EDM模型。假设你有这样一个模型,有三件事情你需要:

  • 的$选择系统查询选项允许你做的预测,例如,$选择=名称,类别/名称
  • 的$扩大系统查询选项允许您指定来自两个不同表的投影(将此视为满足上述查询中的逻辑连接)
  • $ filter系统查询选项允许您指定等于上述where子句的地址

真实世界中的一个实际例子是t他以下查询: http://services.odata.org/Experimental/OData/OData.svc/Products?$expand=Category&$filter=Category/Name%20eq%20'Food'&select=Name,Category/Name

如果您将T1从示例服务映射到产品,将您的T2映射到示例服务的类别,则会发现此示例非常接近您实际要实现的内容。