2

ビューで結合したいくつかのテーブルがあり、結果を取得したいときにビューを実行します。ビューによって提供される結果がフィルター処理されるように、ビューに where 句を適用したいのですが、これを行うと、マルチパート識別子をバインドできませんでしたというエラーが表示されます。

ビューから SQL クエリを取得し、where 句を使用してスタンドアロン クエリとして実行すると、正常に実行されるため、where 句をビューに適用する際に問題が発生します。

意見

SELECT     
   dbo.Assets.assetid, dbo.Assets.assetcommonname, dbo.Assets.assetcode,   
   dbo.Assets.assetserial, dbo.Assets.assetinternallocation, dbo.Assets.assetmodel, 
   dbo.Assets.assetmake, dbo.Assets.assetmac, dbo.Assets.assetnotes, 
   dbo.AssetTypes.typename, dbo.Locations.locationame, dbo.Customers.customername, 
   dbo.Routes.routename, dbo.Locations.customerid
FROM         
   dbo.Assets 
INNER JOIN
   dbo.AssetTypes ON dbo.Assets.assettype = dbo.AssetTypes.typeid 
INNER JOIN
   dbo.Locations ON dbo.Assets.assetlocation = dbo.Locations.locationid 
INNER JOIN
   dbo.Customers ON dbo.Locations.customerid = dbo.Customers.customerid 
INNER JOIN
   dbo.Routes ON dbo.Locations.locationroute = dbo.Routes.routeid

where句を使用してビューを実行する方法

select * from afViewassetlinked where (Locations.customerid = '1')

私は何を間違えましたか?

4

1 に答える 1

4

変化する

select * from afViewassetlinked where (Locations.customerid = '1')

select * from afViewassetlinked where (customerid = '1')

ビューafViewassetlinkedはテーブルではありませんLocations

于 2013-01-10T21:50:25.357 に答える