0

私は2つのテーブルを持っています:

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を使用して、この選択データにアクセスしたいと考えています。

4

1 に答える 1

2

OData クエリは、T1.commonG と T2.commonG の間に外部キー関係があることを理解する EDM モデルに依存しています。このようなモデルがあると仮定すると、次の 3 つのものが必要になります。

  • $select システム クエリ オプションを使用すると、たとえば $select=Name,Category/Name のように予測を行うことができます。
  • $expand システム クエリ オプションを使用すると、2 つの異なるテーブルからのプロジェクションを指定できます (これは、上記のクエリの論理結合を満たすものと考えてください)。
  • $filter システム クエリ オプションを使用すると、上記の where 句と同等のものを指定できます

現実世界での実用的な例の 1 つは、次のクエリです。 http://services.odata.org/Experimental/OData/OData.svc/Products?$expand=Category&$filter=Category/Name%20eq%20'Food'&select=Name,Category/Name

T1 をサンプル サービスの製品にマッピングし、T2 をサンプル サービスのカテゴリにマッピングすると、このサンプルが実際に達成したいものに非常に近いことがわかります。

于 2012-07-13T18:31:54.867 に答える