有一个表,叫table1吧,有比如总序号,子序号这两个字段以及其他的几个字段,
现在的目的就是:先查询出table1的最大的总序号,然后这个查询出的总序号所对应的子序号,然后就查询出来。比方,table1中记录一的有23、45、67这三个总序号,那么我先查找出记录一的67这个总序号,然后67这个总序号又对应了1、2、3、4这四个子序号,那么就还要进一步查出这个4对应的子序号对应的记录来。应该很清楚了吧?最后的查询出的结果应该是:(最终记录一,只会查询出来一条记录)姓名 总序号 子序号 属性
张三 67 4 红
现在的目的就是:先查询出table1的最大的总序号,然后这个查询出的总序号所对应的子序号,然后就查询出来。比方,table1中记录一的有23、45、67这三个总序号,那么我先查找出记录一的67这个总序号,然后67这个总序号又对应了1、2、3、4这四个子序号,那么就还要进一步查出这个4对应的子序号对应的记录来。应该很清楚了吧?最后的查询出的结果应该是:(最终记录一,只会查询出来一条记录)姓名 总序号 子序号 属性
张三 67 4 红
解决方案 »
- 怎么系统学习SQLSERVER或者ORACLE
- 两个表连接更新
- matlab 人脸识别
- 生產計劃按月份顯示的問題
- 为什么使用sqlserver导出数据功能却导不出字段描述,表约束也没有了..???
- ACCESS----->SQL问题
- 我想通过储存过程取值,请问如何取?注意哦:表名是变量,字段名是ntext类型,有难度!
- 在SQL 2005 BAK文件作数据库的完全恢复的时候,有没有办法在恢复的时候,不恢复LOG文件
- 大家进来帮帮忙,为什么我本地连接 连接不上
- 问一个数据库排序功能`请大虾们进进`
- 如何从SQL SERVER中取数?
- ¥¥¥ convert Varchar to Nvarchar 出现乱码,请帮忙解决
t.姓名,
t.总序号,
t.子序号,
t.属性
from
table1 t
where
not exists(select 1 from table1 where 总序号=t.总序号 and 子序号>t.子序号)
---------- ---------- ------------
张三 14 1
张三 14 2
张三 14 3
张三 14 4
t.姓名,
t.总序号,
t.子序号,
t.属性
from
table1 t
where
not exists(select 1 from table1 where 总序号>t.总序号)
and
not exists(select 1 from table1 where 总序号=t.总序号 and 子序号>t.子序号)
t.姓名,
t.总序号,
t.子序号,
t.属性
from
table1 t
where
t.总序号 = (select max(总序号) from table1)
and
not exists(select 1 from table1 where 总序号=t.总序号 and 子序号>t.子序号)
insert @t
select '张三', 12, 1,'红' union all
select '张三', 12, 2,'红' union all
select '张三', 14, 1,'红' union all
select '张三', 14, 2,'红' union all
select '张三', 13, 1,'红' union all
select '张三', 13, 2,'红'select
t.姓名,
t.总序号,
t.子序号,
t.属性
from
@t t
where
t.总序号 = (select max(总序号) from @t)
and
t.子序号 = (select max(子序号) from @t)/*
姓名 总序号 子序号 属性
----------------------------------
张三 14 2 红
*/