0

SQL Server 2008 の select ステートメントに少し問題があります。チケット販売アプリケーションの Web サイトを構築しており、既に販売されているチケットが検索されないようにする必要があります。これが私のSQLストアドプロシージャです:

    spGetSeatBySection
    @SectionID int
    AS
    SELECT
    [SeatID],
    [SectionID],
    [SeatName],
    [SeatPrice],
    [SeatDesc],
    [SeatIsActive],
  FROM [myDataBase].[dbo].[Seats]
  WHERE SectionID = @SectionID 
  AND SeatIsActive = 1 
  AND **IF EXISTS CLAUSE**;

if exists('table_name, 'column_name') のように、ここに投稿されている他のいくつかの方法を試しました。SELECTステートメントを再設計せずにこれを確認する別の方法はありますか?

4

1 に答える 1

0

EXISTSでそのようなもの:

    SELECT
    [SeatID],
    [SectionID],
    [SeatName],
    [SeatPrice],
    [SeatDesc],
    [SeatIsActive],
  FROM [myDataBase].[dbo].[Seats]
  WHERE SectionID = @SectionID 
  AND SeatIsActive = 1 
  AND EXISTS (SELECT o.SeatID 
              FROM OrderItems o
              WHERE o.SeatID = [Seats].SeatID )

あなたはおそらくこれを行うことができます:

     SELECT
    s.[SeatID],
    s.[SectionID],
    s.[SeatName],
    s.[SeatPrice],
    s.[SeatDesc],
    s.[SeatIsActive],
  FROM [myDataBase].[dbo].[Seats] s
       INNER JOIN OrderItems o ON o.SeatID = s.SeatID 
  WHERE s.SectionID = @SectionID 
  AND s.SeatIsActive = 1 
于 2013-03-18T22:11:25.320 に答える