日期:2014-05-17  浏览次数:20774 次

三张表联查的结果分页?
三张表联查的结果分页显示的sql语句怎么写?
SQL code

create table users
(
  userid number not null primary key,
  username  varchar2(20)  not  null unique,
  userpwd  varchar2(60)  not null
)

create table diary_group
(
  dgerid number not null primary key,
  dgname  varchar2(20)  not  null ,
  userid  varchar2(20)  --外键引用user表的主键
)

create table diary
(
  diaryid   number  not null primary key,
  diarytitle  varchar2(20)  not  null unique,
   diary    clob  not  null,
  dgid  number       --外键引用diary_group表的主键
)





根据用户的userid查出用户的所有日志,然后结果分页显示的sql语句应该怎么写?

------解决方案--------------------
SELECT *
FROM
(SELECT A. * ,
ROWNUM RN
FROM
(
...
--这里面写三张表联立SQL
...
) A
WHERE ROWNUM <= 10
ORDER BY 排序字段 DESC
)
WHERE RN > 0
------解决方案--------------------
探讨
SELECT *
FROM
(SELECT A. * ,
ROWNUM RN
FROM
(
...
--这里面写三张表联立SQL
...
) A
WHERE ROWNUM <= 10
ORDER BY 排序字段 DESC
)
WHERE RN > 0

------解决方案--------------------
2楼的改改:
SQL code

SELECT *
FROM
(SELECT A. * ,
ROWNUM RN
FROM
(
...
--这里面写三张表联立SQL
...
) A
ORDER BY 排序字段 DESC
)
WHERE RN > 0 and RN < 11

------解决方案--------------------
探讨
2楼的改改:

SQL code


SELECT *
FROM
(SELECT A. * ,
ROWNUM RN
FROM
(
...
--这里面写三张表联立SQL
...
) A
ORDER BY 排序字段 DESC
)
WHERE RN > 0 and RN < 11



WHERE RN > 0 and RN < 11 这句
其中RN可以根据你……