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的值......

谢谢 大家帮忙....
展开
 我来答
水孤狼
2011-08-19 · TA获得超过111个赞
知道答主
回答量:67
采纳率:0%
帮助的人:76万
展开全部
依照你给的表结构建立了两个表,并对他进行查询,结果显示是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 )
TableDI
2024-07-18 广告
作为上海悉息信息科技有限公司的员工,我们在处理Excel表格数据比对时,通常会使用Excel的高级功能或专门的比对工具。首先,确保两个表格的数据结构相似,然后可以使用“条件格式”中的“突出显示单元格规则”下的“重复值”功能,来高亮显示两个表... 点击进入详情页
本回答由TableDI提供
lovederh
2011-08-19 · TA获得超过185个赞
知道小有建树答主
回答量:444
采纳率:0%
帮助的人:262万
展开全部
可以在最后加个条件,name = max(name)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lf97b3
2011-08-19 · TA获得超过108个赞
知道答主
回答量:225
采纳率:0%
帮助的人:164万
展开全部
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)
追问
还是多条   我只想要一条 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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友262f2c0
2011-08-19
知道答主
回答量:58
采纳率:0%
帮助的人:28.7万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明智还清澈的饼干9013
2011-08-19 · TA获得超过634个赞
知道小有建树答主
回答量:728
采纳率:0%
帮助的人:466万
展开全部
我想先问一下。你确定是选出一条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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式