[Seasar-user:13475] Re: [DBFlute] LIKEをORでつなげたい
kubo
[E-MAIL ADDRESS DELETED]
2008年 3月 29日 (土) 03:49:40 JST
久保です。
加藤さん
https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-basic-example
MemberCBTest#test_selectList_union_LikeSearch_Tx()
にExample実装してみました。
2008/3/29 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保です。
>
> 加藤さん、こんにちは
>
> ANDとかORという感じではなく、
>
> select ...
> from XXX
> where YYY like 'a%'
> union
> select ...
> from XXX
> where YYY like 'b%'
> union
> select ...
> from XXX
> where YYY like 'c%'
>
> という感じのSQLになるはずですが、
> そうならないでしょうか?
>
> # ちなみにsplitByXxx()は利用せず、
> # 自分でsplitで「for (String keyword : keywordList) {」
> # するイメージです。
>
> 2008/3/28 Junichi Kato <[E-MAIL ADDRESS DELETED]>:
>
>
> > 久保さん、
> > 加藤です。
> >
> > 以下を試してみたのですが、ANDでつながってしまうようです。
> > ORでつなげるのは無理ですかね?
> >
> >
> > kubo さんは書きました:
> >
> >
> > > 久保です。
> > >
> > > 加藤さん、こんばんは
> > >
> > > 昼はちょっと取り込んでて取り急ぎコメントでしたが、
> > > 実装イメージとしては以下のような感じになると思います。
> > > (動かしてないのであくまでイメージということで)
> > >
> > > XxxCB cb = new XxxCB();
> > > cb.setupSelect_...
> > > boolean first = true;
> > > for (String keyword : keywordList) {
> > > if (first) {
> > > cb.query().setYyy_LikeSearch(keyword, new Like...);
> > > first = false;
> > > continue;
> > > }
> > > XxxCB unionCB = new XxxCB();
> > > unionCB.query().setYyy_LikeSearch(keyword, new LiKe...);
> > > cb.union(unionCB.query())
> > > }
> > >
> > > 2008/3/26 Junichi Kato <[E-MAIL ADDRESS DELETED]>:
> > >
> > >> 久保さん、
> > >> 加藤です。どうもです。
> > >>
> > >> 了解しました。unionでやってみます。
> > >>
> > >>
> > >> 08/03/26 に kubo <[E-MAIL ADDRESS DELETED]> さんは書きました:
> > >>
> > >>
> > >>
> > >>> 久保です。
> > >>>
> > >>> 加藤さん、こんにちは
> > >>>
> > >>> 取り急ぎコメントさせて頂きます。
> > >>> splitByXxx()をor条件とする機能は今はありません。
> > >>> OR条件に関しては、ConditionBean.union()をご利用下さい。
> > >>> 但し、splitByXxx()で一本の文字列を分解するのは自分で
> > >>> 処理することにはなってしまいます。
> > >>>
> > >>>
> > >>> 2008/3/26 Junichi Kato <[E-MAIL ADDRESS DELETED]>:
> > >>>
> > >>>> 加藤です。
> > >>>>
> > >>>> お世話になります。
> > >>>> DBFluteの質問です。
> > >>>>
> > >>>>
> > >>>>
> > >> http://dbflute.sandbox.seasar.org/ja/tips-condition_bean_comparison.html
> > >>
> > >>>> 〉{Split処理} splitByXxx()を呼び出すことで、引数のvalueをSplitして複数の
> > >>>> AND条件として付与できます。
> > >>>> とあるのですが、
> > >>>>
> > >>>> LIKEにて複数の検索条件をORでつなげる場合はどのようにするのがよいのでしょ
> > >>>> うか?
> > >>>> アドバイスをお願いいたします。
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>> _______________________________________________
> > >>>> Seasar-user mailing list
> > >>>> [E-MAIL ADDRESS DELETED]
> > >>>> https://ml.seasar.org/mailman/listinfo/seasar-user
> > >>>>
> > >>>>
> > >>> _______________________________________________
> > >>> Seasar-user mailing list
> > >>> [E-MAIL ADDRESS DELETED]
> > >>> https://ml.seasar.org/mailman/listinfo/seasar-user
> > >>>
> > >>>
> > >> _______________________________________________
> > >> Seasar-user mailing list
> > >> [E-MAIL ADDRESS DELETED]
> > >> https://ml.seasar.org/mailman/listinfo/seasar-user
> > >>
> > >>
> > >>
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
>
Seasar-user メーリングリストの案内