0

製品のすべてのアプリケーション タイプを表示するページがあります。ビュー dbo.View_Products_by_Application とテーブル dbo.tblApplications があります。

dbo.tblApplicaitons には、ApplicationName と ApplicationID の 2 つのフィールドがあります。

dbo.View_Products_By_Application にはすべての製品情報があります。私がしたいのは、dbo.tblApplications を使用して、そのアプリケーション名が dbo.View_Produts_by_Application ビューにも表示される ApplicationNames のみを返すレコード セットを作成することです。また、返されたレコードセットでは、各 ApplicationName を 1 回だけ表示する必要があります。

レコード セットに必要な 2 つの項目は、ApplicationName と ApplicationID です。

SELECT *
  FROM [WebV2].[dbo].[View_Products_By_Application]
  INNER JOIN dbo.tblApplications
   ON dbo.View_Products_By_Application.ApplicationName = dbo.tblApplications.ApplicationName
   Order BY dbo.View_Products_By_Application.ApplicationName ASC
4

3 に答える 3

0

あなたがそこに持っているものはよくわかりませんでしたが、あなたが探しているのはこのようなものだと思います.

SELECT [WebV2].[dbo].[View_Products_By_Application].*, dbo.tblApplications.*, ROW_NUMBER() OVER (PARTITION BY dbo.View_Products_By_Application.ApplicationName   Order BY dbo.View_Products_By_Application.ApplicationName ASC)
As rownum
 FROM [WebV2].[dbo].[View_Products_By_Application]
 INNER JOIN dbo.tblApplications ON dbo.View_Products_By_Application.ApplicationName = dbo.tblApplications.ApplicationName 
Where rownum= 1

これは ApplicationName によって最初に返されると思います。

http://technet.microsoft.com/en-us/library/ms186734.aspx

于 2013-11-07T16:39:29.073 に答える
0

EXISTSを使用できます:

SELECT  app.ApplicationName, app.ApplicationID
FROM    dbo.tblApplications app
WHERE   EXISTS
(
    SELECT  *
    FROM    [WebV2].[dbo].[View_Products_By_Application] vw
    WHERE   vw.ApplicationName = app.ApplicationName
)
ORDER BY app.ApplicationName;
于 2013-11-07T16:49:45.190 に答える