高分求一句sql同时实现下面两个需求?在线等
时间:2011-12-03
来源:互联网
SQL code
FIndex FID FChangeID FCloseFlag 1 100 150 0 2 100 0 0
或者
SQL code
FIndex FID FChangeID FCloseFlag 1 100 150 0 2 100 0 1
整体来看,就是两条数据的FCloseFlag和FChangeID不一样而已
现在要求写一条sql语句,同时满足需求:
1、当存在FCloseFlag=1的时候,只查询出FIndex=1的数据行
2、当存在FClaseFlag=0的时候,只查询出FIndex=2的数据行
作者: lybjust 发布时间: 2011-12-03
select * from tb where (FClostFlag = 1 and FIndex = 1) or (FCloseFlag = 0 and FIndex = 2)
作者: AcHerat 发布时间: 2011-12-03
作者: AcHerat 发布时间: 2011-12-03
SQL code
SELECT * FROM TB WHERE FClostFlag=1 and FIndex=1 or FClaseFlag=0 and FIndex=2 or FCloseFlag<>1 and FCloseFlag<>0
作者: qianjin036a 发布时间: 2011-12-03
作者: qianjin036a 发布时间: 2011-12-03
如果从楼主的叙述上看,并未排除 FClostFlag 不为 0 和 1 的状态.
SQL code
SELECT * FROM TB WHERE FClostFlag=1 and FIndex=1 or FClaseFlag=0 and FIndex=2 or FCloseFlag<>1 and FCloseFlag<>0
请不要把FIndex考虑进去,这里FIndex可能是一个自增主键而已,只是为了说明取第几行数据才描述了
FIndex,谢谢哈
作者: lybjust 发布时间: 2011-12-03
SQL code
select *
from tb
where (FClostFlag = 1 and FIndex = 1) or (FCloseFlag = 0 and FIndex = 2)
请不要把FIndex考虑进去,这里FIndex可能是一个自增主键而已
而且试了这个,好像没有效果
作者: lybjust 发布时间: 2011-12-03
from tb
where FClostFlag = ?
?表示你输入的 FCloseFlag 的值。
作者: AcHerat 发布时间: 2011-12-03
作者: yudiw 发布时间: 2011-12-03
select distinct b.* from tb a cross apply(select top 1 * from tb where FID=a.FID order by FCloseFlag desc,FIndex desc) b
作者: ssp2009 发布时间: 2011-12-03
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28