高分悬赏简单SQL语句

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:16:27
是这样,数据库有一个班级表(班名,班级位置,人数,教师) 一个班级照片表(一个班级有很多照片 班名,照片名)
我想 一个班级只选择最后上传的一张照片select 输出
也就是
A班 位置 人数 教师 照片
B班 位置 人数 教师 照片
C班 位置 人数 教师 照片
请问。如何解决

select 班名,班级位置,人数,教师,照片名
from (
select a.班名,班级位置,人数,教师,照片名,row_number() over(partition by 班名 order by 照片名 desc) rn
from 班级表 a
inner join 班级照片表 b on a.班名=b.班名
)
where rn=1

select 班级表.班名,班级表.班级位置,班级表.人数,班级表.教师,LAST 照片名 from 班级表,班级照片表 where 班级表.班名=班级照片表.班名 group by 班级表.班名,班级表.班级位置,班级表.人数,班级表.教师,班级照片表.照片名
楼主试试这句~

SELECT A.班名,班级位置,人数,B.照片名 FROM 班级表 AS A INNER JOIN 班级照片表 AS B ON A.班名=B.班名 WHERE A.班名=(SELECT top 1 照片名 FROM 班级照片表 WEHRE 班名 in(SELECT 班名 FROM 班级表) ORDER BY DESC)

????
你的照片名称是否就是当天的日期啊?
或者说班级照片表中加一个列(上传时间)
要不然你的照片无法确定哪一张是最后上传的?

select 班名,位置,人数,教师,照片名
from 班级表,班级照片表
where 班级表.班名=班级照片表.班名
and 班级照片表.照片名in(select 照片名 from 班级照片表
where rowid in (select max(rowid) from
班级照片表 group by 班名))
已测试,可用。数据库为oracle。
应该加序列或者加个时间。

如果[班级照片表]中没有时间字段或者[照片的命名]没有规律的话,神仙也没有办法.