Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL视图条件选择_Sql_Sql Server 2005_View - Fatal编程技术网

SQL视图条件选择

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

我正在尝试创建一个视图来提取特定的记录。我遇到的问题是有2条记录可供选择,状态标志为1或2。如果1记录存在,它应该拉1记录,如果不是2记录,它应该拉2记录


从视图中是否可以执行此操作?

尝试按状态值排序,或分组并返回最小值

尝试按状态值排序,或分组并返回最小值

拉动
选择前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)