SQL视图条件选择
我正在尝试创建一个视图来提取特定的记录。我遇到的问题是有2条记录可供选择,状态标志为1或2。如果1记录存在,它应该拉1记录,如果不是2记录,它应该拉2记录SQL视图条件选择,sql,sql-server-2005,view,Sql,Sql Server 2005,View,我正在尝试创建一个视图来提取特定的记录。我遇到的问题是有2条记录可供选择,状态标志为1或2。如果1记录存在,它应该拉1记录,如果不是2记录,它应该拉2记录 从视图中是否可以执行此操作?尝试按状态值排序,或分组并返回最小值尝试按状态值排序,或分组并返回最小值拉动选择前1名并按状态标志排序。拉动选择前1名并按状态标志排序 Select B.* FROM (Select ID ,MIN(Flag) Flag From TableName Group
从视图中是否可以执行此操作?尝试按状态值排序,或分组并返回最小值尝试按状态值排序,或分组并返回最小值拉动
选择前1名
并按状态标志排序。拉动选择前1名
并按状态标志排序
Select B.*
FROM
(Select
ID
,MIN(Flag) Flag
From TableName
Group by ID) A
LEFT JOIN TableName B on A.ID=B.ID and A.Flag=B.Flag
请注意,当您有一个要比较的id列时,这种方法最有效。这与费兹所写的完全不同
请注意,当您有一个要比较的id列时,这种方法最有效。这与Faiz所写的不同。添加了标记,但它是SQL Server 2005。添加了标记,但它是SQL Server 2005。能否提供表的架构?能否提供表的架构?
select * from table
where Status = 1
union
select * from table t
where status = 2
and not exists (select * from table t2 where t.id = t2.id and Status = 1)