SQL Case-Anweisung mit einer untergeordneten select-Anweisung

   select case when exists(
                              select top 1 1 
                              from dg_world_records wr (nolock) 
                              where wr.gametypeid = 4 
                              and wr.playerid = 1
                           ) 
    then totaltime = (select min(totaltime) from dg_world_records (nolock) where playerid = 1 and gametypeid = 4)
    else totaltime = (select max(totaltime) from dg_world_records (nolock) where gametypeid = 4)
    end

Meine Vermutung ist, dass dies nicht getan werden kann, aber ich versuche zu tun, einer untergeordneten select-Anweisung innerhalb einer sql-case-Anweisung. Ist das möglich?

Ich versuche zu tun, eine Suche basierend auf der Suche oder nicht Suche nach einem Wert in einer Tabelle. Ich kann dies tun, indem Sie das Aufbrechen der Aussage, aber ich Frage mich, ob es möglich, dies zu tun, in einer einzigen Anweisung.

Hier ist die Tabelle, schema:

CREATE TABLE [dbo].[DG_WORLD_RECORDS](
[WorldRecordId] [int] IDENTITY(1,1) NOT NULL,
[GameTypeId] [int] NOT NULL,
[PlayerId] [int] NOT NULL,
[NumberOfValues] [int] NOT NULL,
[TotalTime] [int] NOT NULL,
[DateOfRecord] [datetime] NOT NULL,
[GameId] [int] NULL,
[UTCInserted] [datetime] NOT NULL CONSTRAINT [DF_DG_WORLD_RECORDSII_UTCInserted]  DEFAULT (getutcdate()),
[UTCUpdated] [datetime] NOT NULL CONSTRAINT [DF_DG_WORLD_RECORDSII_UTCUpdated]  DEFAULT (getutcdate()),
[SrvName] [varchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_DG_WORLD_RECORDSII_SrvName]  DEFAULT (@@servername),

EINSCHRÄNKUNG [PK_DG_WORLD_RECORDS] PRIMARY KEY CLUSTERED
(
[WorldRecordId] ASC
)
)

Schreibe einen Kommentar