[Seasar-user:13178] 【DBFlute】unionを使用したPaging
森和紀
[E-MAIL ADDRESS DELETED]
2008年 3月 7日 (金) 15:32:14 JST
お世話になっております。
森と申します。
union を使用した Paging(selectPage)を行なうと、union のSQLにもPaging用のSQLが
重複してしまい、エラーとなります。
Paging なしの場合(selectList)は問題ありません。
Version:DBFlute 0.6.4
union の使い方に問題があるのでしょうか?
ご確認いただければと思います。
Java の実装
-----------------------------------------------------------
MessageTextCB cb = new MessageTextCB();
cb.query().setTextId_Equal("1");
TcMessageTextCB ucb = new TcMessageTextCB();
ucb.query().setTextId_Equal("2");
cb.fetchFirst(5);
cb.fetchPage(1);
cb.union(ucb.query());
messageTextBhv.selectPage(cb);
発行されたSQL
-----------------------------------------------------------
select
*
from
(
select
base.*,
rownum as rn
from
(
select
dflocal.TEXT_ID as TEXT_ID,
dflocal.MESSAGE_ID as MESSAGE_ID
from
MESSAGE_TEXT
dflocal
where
dflocal.TEXT_ID = ?
union
select
*
from
(
select
base.*,
rownum as rn
from
(
select
dflocal.TEXT_ID as TEXT_ID,
dflocal.MESSAGE_ID as MESSAGE_ID
from
MESSAGE_TEXT
dflocal
where
dflocal.TEXT_ID = ?
)
base
)
where
rn > 0
and rn <= 5
以上、よろしくお願いいたします。
Seasar-user メーリングリストの案内