0

こんにちは… 重複する値が含まれている可能性のある ModelName 列の下を調べ、同じモデルの ReleaseType 列に「最終リリース」が含まれているかどうかを確認する方法を見つけようとしています。はいの場合は何もせず、そうでない場合は一意の ModelName を返します (おそらく最新の日付に基づく)。緑のフィールドは私が表示しようとしているもので、赤のフィールドは表示されるべきではありません: ここに画像の説明を入力

これは SQL Server 2019 でできることですか? ここに私のテーブルがあります:

CREATE TABLE [dbo].[Model](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [ModelName] [nvarchar](50) NOT NULL,
    [FormFactorID] [int] NOT NULL,
    [Revision] [nvarchar](4) NOT NULL,
    [SVID] [nvarchar](4) NOT NULL,
    [SSID] [nvarchar](4) NULL,
    [Picture] [varbinary](max) NULL,
    [NVME] [nvarchar](4) NULL,
    [ReleaseStatusID] [int] NULL,
 CONSTRAINT [PK__Model__3214EC27B0574C2B] PRIMARY KEY CLUSTERED



CREATE TABLE [dbo].[ReleaseType](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [ReleaseType] [nvarchar](15) NULL,
 CONSTRAINT [PK__ReleaseT__3214EC27CD0730DB] PRIMARY KEY CLUSTERED



CREATE TABLE [dbo].[ProductRelease](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [ReleaseTypeID] [int] NULL,
    [ModelID] [int] NULL,
    [Date] [date] NULL,
    [ECO] [nvarchar](10) NULL,
    [Notes] [nvarchar](800) NULL,
 CONSTRAINT [PK__ProductR__3214EC27CE911F54] PRIMARY KEY CLUSTERED 

ProductRelease テーブルの ReleaseTypeID と結合された ReleaseType テーブルの ID

ProductRelease テーブルの ModelID と結合された Model テーブルの ID

これまでの私のクエリは次のとおりです。

SELECT
    dbo.Model.ModelName, 
    dbo.ReleaseType.ReleaseType, 
    dbo.ProductRelease.ECO, 
    dbo.ProductRelease.Date

FROM            
    dbo.Model 
        INNER JOIN dbo.ProductRelease ON dbo.Model.ID = dbo.ProductRelease.ModelID 
        INNER JOIN dbo.ReleaseType ON dbo.ProductRelease.ReleaseTypeID = dbo.ReleaseType.ID

ORDER BY 
    dbo.Model.ModelName, 
    dbo.ProductRelease.Date
4

1 に答える 1