1

SQL Serverにビューがあり、C#アプリケーションを介してこのビューを他のテーブルと結合したいと思います。これを実現するには、基になるテーブルで、それぞれのビューのフィールドが対応する列を見つける必要があります。たとえば、次のようなビューを持つことができます。

CREATE VIEW [View A]     
AS   
   SELECT Children.Child_ID, Social_Workers.Social_ID 
   FROM Children 
   INNER JOIN Social_Workers 
     ON Children.Social_ID = Social_Workers.Social_ID

上記のビューにテーブルを結合したい場合があります。これを実現するには、C#アプリケーションは、リレーションシップ内で必要な外部キーと主キーのフィールドを何らかの方法で認識し、次のようなSQLコードを生成する必要があります。

SELECT [View A].Child_ID, 
       Sponsors.User_ID 
FROM  [View A]  
INNER JOIN Sponsors 
 ON [View A].Child_ID = Sponsors.Child_ID

ビュー内の基になるテーブルを取得する方法を見つけましたが、残りの問題にどのようにアプローチするかがわかりません。

4

2 に答える 2

0

以下、特に referenced_entity_name 列と referenced_minor_name 列が役立つと思います。

select * from sys.dm_sql_referenced_entities( 'dbo.ViewA', 'object' ) ;

この DMV は SQL Server 2008 で追加されたため、以前のバージョンをお持ちの場合は、申し訳ありません。

于 2013-03-11T02:38:17.300 に答える
0

あなたの要件を正しく理解している場合は、ビューで使用されるエイリアスの実際の列名を検索しますか?

于 2013-03-07T12:58:09.563 に答える