[英]Checking to see if an ID exists inside of a table using SQL Server 2008
我在使用SQL Server 2008中的select语句时遇到了一些麻烦。我正在构建售票应用程序网站,并且需要确保无法搜索已售出的票。 这是我的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 exist('table_name,'column_name')。 还有另一种无需重新设计SELECT
语句即可检查此问题的方法吗?
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.