2012-07-13 61 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映射到示例服務的類別,則會發現此示例非常接近您實際要實現的內容。