当查询一个列表的时候获取此列表id结果作为另一个sql的是否存在的条件处理
2014-05-12 10:50
627 查看
问题需求重现:“如果一个学员,已经填写了班车信息,就把操作那两个字改成修改”
当查询一个列表的时候获取此列表id结果作为另一个sql的是否存在的条件处理。
原来列表sql
查看此back_id和此人user_id是否存在记录
综合在一个sql来写(避免在遍历主list得到back_id时候再去sql查询数据库,这样数据多了会很慢,影响效率)
当查询一个列表的时候获取此列表id结果作为另一个sql的是否存在的条件处理。
原来列表sql
SELECT S.BACK_ID, S.S_CLASS_INFO_ID, S.BACK_NAME, TO_CHAR(S.END_DATE, 'yyyy-mm-dd HH24:mi'), S.PROMPT_INFO FROM S_CLASS_BACK_MAIN S WHERE (S.IS_PUB = 'Y' OR S.PUB_DATE > SYSDATE) AND S.IS_DEL = 'N' AND S.S_CLASS_INFO_ID = 566
查看此back_id和此人user_id是否存在记录
SELECT SCBO.OPTION_ID, SCBO.BACK_DESC,scbo.back_id FROM S_CLASS_BACK_USER SCBU, S_CLASS_BACK_OPTION SCBO, S_CLASS_BACK_MAIN SCBM WHERE SCBU.USER_ID = 44075 AND SCBU.OPTION_ID = SCBO.OPTION_ID AND SCBO.BACK_ID = SCBM.BACK_ID AND SCBM.BACK_ID = 1142
综合在一个sql来写(避免在遍历主list得到back_id时候再去sql查询数据库,这样数据多了会很慢,影响效率)
SELECT S.BACK_ID, S.S_CLASS_INFO_ID, S.BACK_NAME, TO_CHAR(S.END_DATE, 'yyyy-mm-dd HH24:mi'), S.PROMPT_INFO, nvl(to_char(tempResult.Option_Id),'null') AS isExist FROM S_CLASS_BACK_MAIN S,(SELECT SCBO.OPTION_ID, SCBO.BACK_DESC,scbo.back_id FROM S_CLASS_BACK_USER SCBU, S_CLASS_BACK_OPTION SCBO, S_CLASS_BACK_MAIN SCBM WHERE SCBU.USER_ID = 44075 AND SCBU.OPTION_ID = SCBO.OPTION_ID AND SCBO.BACK_ID = SCBM.BACK_ID) tempResult WHERE (S.IS_PUB = 'Y' OR S.PUB_DATE > SYSDATE) AND S.IS_DEL = 'N' AND S.S_CLASS_INFO_ID = '566' AND tempResult.Back_Id(+)=s.back_id
相关文章推荐
- Sql : 如何判断一个表中,是否存在一个ID,如果存在不处理,如果不存在
- sql查询 group by 数字类型+null 为null 处理 ,sum()的结果作为条件再次查询。
- Sql : 如何判断一个表中,是否存在一个ID,如果存在不处理,如果不存在
- sql用1来表示查询结果是否为空 & 判断表是否存在简易方法
- SQL中如何才能将查询的结果数据存在一个变量中???
- SQL查询~ 存在一个表而不在另一个表中的数据
- 使用SQL查询语句时,数组动态赋值SQL IN ()作为条件条件一个
- SQL语句技巧:查询存在一个表而不在另一个表中的数据记录
- Hibernate查询,返回new对象(注意这个新定义的类要有构造函数),使用sql带条件分页查询并且把结果显示到一个对象的集里面的解决方案
- SQL语句技巧:查询存在一个表而不在另一个表中的数据记录
- Hibernate查询,返回new对象(注意这个新定义的类要有构造函数),使用sql带条件分页查询并且把结果显示到一个对象的集里面的解决方案
- asp.net frameset里一个frame中获取下拉框、单选框的值并作为参数传递到另一个frame里并显示结果
- (数据库篇) SQL查询~ 存在一个表而不在另一个表中的数据
- MySQL 获取某一个分类ID的所有父或子分类查询结果
- SQL 从一个sql 语句结果中(作为AS一个表) 查询结果 ;按照count排序
- 当获取相似数据时,使用不同方法调用不同sp,但是使用同一个方法去用IIDataReader或者SqlDataReader读取数据时需要判断column name是否存在。
- 将SQL查询结果作为查询条件进行查询
- mysql 以查询结果作为查询条件sql写法
- SQL判断查询结果是否存在EXISTS
- Oracle: SQL组合不同字段作为一个查询条件