SELECT A.ID,A.CONTENT,A.DATE,B.PERSON,B.REPLYCONTENT FROM A LEFT OUTER JOIN B
ON A.ID = B.ID
ON A.ID = B.ID
解决方案 »
- ORACLE dbf文件提示损坏,怎么恢复数据
- 字段名中包含特殊字符,应该如何处理
- REP-1401,ORA-01403错误
- [笔试问题]这两个表,内联结果有几条记录?
- csdn有屎以来最强的问题
- 如何一次创建多个存储过程,函数,触发器?
- 请问在oracle中如何实现级联更新记录。
- 关于触发器的问题(在一个表中检索符合要求的数据累加起来放到另外一个表中)(急,急,急)
- sql问题
- 在数据字典中直接修改Oracle表列名, 从而实现修改表列名,不知道对大家又没有启发
- 通过jdbc防问数据库,知道表名,准备通过sql语句得到主键的列名
- 简单的一个问题,关于Oracle8 的INTERNAL PASSWORD
----------------------------------
2 员工1 已订火车票
4 员工1 合饭已订
4 员工1 合饭已订十份
表A a,
(select * from 表B where rowid in (select max(rowid) from 表B group by id) b
where a.id=b.id(+);
表A a,
(
select * from 表B x,(select max(rowid) no from 表B group by id) y
where x.rowid=y.no
) b
where a.id=b.id(+);
rowid 最大并不代表日期最大,因为日期是可以改的.rowid 不会变.
From a Aa,
b Bb,
(Select a.Id, Max(Date) dd
From a, b
Where a.Id(+) = b.Id
Group By a.Id) cc Where Aa.Id = Bb.Id
And aa.Id=cc.Id
And Aa.Date=cc.dd
ON A.ID = B.ID
ID CONTENT DATE
---------------------------
1 没有事 12-01
2 购火车票 12-01
3 没有事 12-02
4 订十份合饭 12-03
....
..表BID ID2 PERSON REPLYCONTENT
----------------------------------
2 1 员工1 已订火车票
4 1 员工1 合饭已订
4 2 员工1 合饭已订十份如何查询得到
ID CONTENT DATER PERSON REPLYCONTENT
---------------------------
1 没有事 12-01
2 购火车票 12-01 员工1 已订火车票
3 没有事 12-02
4 订十份合饭 12-03 员工1 合饭已订十份------------这里是表B中的ID2最大的一条记录
表A a,
(
select * from 表B x,(select max(id2) no from 表B group by id) y
where x.id2=y.no
) b
where a.id=b.id(+);
表A a,
(
select * from 表B x,(select max(id2) no from 表B group by id) y
where x.id2=y.no and x.id=y.id
) b
where a.id=b.id(+);
表A a,
(
select x.* from 表B x,(select max(id2) no from 表B group by id) y
where x.id2=y.no and x.id=y.id
) b
where a.id=b.id(+);
SQL> Select aa.Id, Aa.CONTENT, aa.ddate,bb.PERSON, bb.REPLYCONTENT
2 From a Aa,
3 b Bb,
4 (Select a.Id, Max(ddate) dd
5 From a, b
6 Where a.Id(+) = b.Id
7 Group By a.Id) cc
8 Where Aa.Id = Bb.Id
9 And aa.Id=cc.Id
10 And Aa.ddate=cc.dd
11 ;ID CONTENT DDATE PERSON REPLYCONTENT
---------- -------------------- ----------- -------------------- --------------------
2 购火车票 2004-12-1 员工1 已订火车票
4 订十份合饭 2004-12-3 员工1 合饭已订
SQL>
SQL> Select aa.Id, Aa.CONTENT, aa.ddate,bb.PERSON, bb.REPLYCONTENT
2 From a Aa,
3 b Bb,
4 (Select a.Id, Max(ddate) dd
5 From a, b
6 Where a.Id = b.Id(+)
7 Group By a.Id) cc
8 Where Aa.Id = Bb.Id(+)
9 And aa.Id=cc.Id(+)
10 And Aa.ddate=cc.dd
11 ;ID CONTENT DDATE PERSON REPLYCONTENT
---------- -------------------- ----------- -------------------- --------------------
1 没有事 2004-12-1
2 购火车票 2004-12-1 员工1 已订火车票
3 没有事 2004-12-2
4 订十份合饭 2004-12-3 员工1 合饭已订SQL>
And Aa.ddate=cc.dd