这是一个简化的任务,我必须在实际项目中解决。在这个项目中,数据存储在HSQLDB中。数据通过JDBC访问。如何结合使用一个SQL查询独立排序的一个表中的两个结果集?
我有一个表:
name | flag
-----------
aa | 1
bb | 0
cc | 1
dd | 0
ee | 1
ff | 0
我需要编写查询到以下表中获取:
name | flag
-----------
aa | 1
cc | 1
ee | 1
ff | 0
dd | 0
bb | 0
决赛桌,如同与国旗行= 1取,整理上升,标记= 0的行被采取并分类降并且结果一个接一个地结合。
请注意,与标志= 1,行与行标志= 0有相反排序顺序。
是否可以在SQL中执行?我不想做两个查询并手动合并Java代码中的ResultSets。
谢谢,您的解决方案在HSQLDB中工作。 但是,你能解释一下数据库中的排序工作吗?引擎选择行,然后应用两种顺序表达式:“flag desc,name,'desc'(if flag = 1)or this:”flag desc,',name desc“(if flag = 0)?我从来没有遇到动态的“秩序”表达式。 – ilya 2010-03-07 17:20:13
它对3列进行排序,但第2列或第3列是常数,因此被有效忽略 – gbn 2010-03-07 18:05:53