SQL查询 排序后 在选择其中的一条 谢谢!
表1表头FIDnamenumber001110002115003118004220005221表2表头parentidtyname001110022200333选出FID...
表1
表头 FID name number
001 1 10
002 1 15
003 1 18
004 2 20
005 2 21
表2
表头 parentid tyname
001 11
002 22
003 33
选出 FID=parentid 数据 信息 , 但是name = 1 会有三条 出现
想要的结果是 只选出一条FID最大的name的值......
谢谢 大家帮忙.... 展开
表头 FID name number
001 1 10
002 1 15
003 1 18
004 2 20
005 2 21
表2
表头 parentid tyname
001 11
002 22
003 33
选出 FID=parentid 数据 信息 , 但是name = 1 会有三条 出现
想要的结果是 只选出一条FID最大的name的值......
谢谢 大家帮忙.... 展开
展开全部
依照你给的表结构建立了两个表,并对他进行查询,结果显示是003 1 18 ,不知道是不是你要的结果
--建立t1表
drop table t1;
create table t1(
FID varchar2(3) not null,
FName varchar2(20),
FNumber varchar2(10)
);
insert into t1 values('001','1','10');
insert into t1 values('002','1','15');
insert into t1 values('003','1','18');
insert into t1 values('004','2','20');
insert into t1 values('005','2','21');
commit;
--建立t2表
drop table t2;
create table t2(
parentid varchar2(3),
tyname varchar2(20)
);
insert into t2 values('001','11');
insert into t2 values('002','22');
insert into t2 values('003','33');
commit;
--查询FID等于parentid并且id最大的数据
select FID, Fname,fnumber
from t1
where FID in (select Max(Fid) from t1 join t2 on t1.FID = t2.parentid )
--建立t1表
drop table t1;
create table t1(
FID varchar2(3) not null,
FName varchar2(20),
FNumber varchar2(10)
);
insert into t1 values('001','1','10');
insert into t1 values('002','1','15');
insert into t1 values('003','1','18');
insert into t1 values('004','2','20');
insert into t1 values('005','2','21');
commit;
--建立t2表
drop table t2;
create table t2(
parentid varchar2(3),
tyname varchar2(20)
);
insert into t2 values('001','11');
insert into t2 values('002','22');
insert into t2 values('003','33');
commit;
--查询FID等于parentid并且id最大的数据
select FID, Fname,fnumber
from t1
where FID in (select Max(Fid) from t1 join t2 on t1.FID = t2.parentid )
TableDI
2024-07-18 广告
2024-07-18 广告
作为上海悉息信息科技有限公司的员工,我们在处理Excel表格数据比对时,通常会使用Excel的高级功能或专门的比对工具。首先,确保两个表格的数据结构相似,然后可以使用“条件格式”中的“突出显示单元格规则”下的“重复值”功能,来高亮显示两个表...
点击进入详情页
本回答由TableDI提供
展开全部
可以在最后加个条件,name = max(name)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select *
from 表1 a
join 表2 b on a.fid = b.parentid
where not exists (select 1 from 表1 where name = a.name and fid>a.fid)
from 表1 a
join 表2 b on a.fid = b.parentid
where not exists (select 1 from 表1 where name = a.name and fid>a.fid)
追问
还是多条 我只想要一条 name的信息 条件为 FID最大的那条.....
追答
你的意思是这?
select *
from 表1 a
join 表2 b on a.fid = b.parentid
where not exists (select 1 from 表1 where fid>a.fid)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 表1 as a,表2 as b,(select max(number) as number,name from 表1 where 1) as c where a.fid=b.parentid and a.number=c.number
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想先问一下。你确定是选出一条FID最大的name的值......
追问
是的 怎么 有什么地方不对嘛? 其实我是想选出最新修改的那条 那inputtime选择 但是我还点在日期里添加时间 所以 不如 直接查FID 最大的那条 得出的也是 最新修改的一条数据 对不对呢 麻烦了
追答
select top 1 fid,name
from 表1 a
join 表2 b on a.fid = b.parentid
order by a.fid desc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询