[前][次][番号順一覧][スレッド一覧]

mysql:15033

From: ユウシステム 糸瀬 <ユウシステム 糸瀬 <itose@xxxxxxxxxx>>
Date: Mon, 12 Oct 2009 12:57:12 +0900
Subject: [mysql 15033] Re: 「2つ以上含む」検索

久光さん

糸瀬と申します。以下でどうでしょうか。
tableAのPRIMARYをidと仮定して記述しています。

SELECT *
FROM tableA
WHERE id IN (
  SELECT tbl.id
  FROM(
      SELECT id AS id
      FROM tableA
      WHERE columnA LIKE '%||カモ||%'
    union all
      SELECT id AS id
      FROM tableA
      WHERE columnA LIKE '%||ガチョウ||%'
    union all
      SELECT id AS id
      FROM tableA
      WHERE columnA LIKE '%||スズメ||%'
  ) AS tbl
  GROUP BY
    tbl.id
  HAVING
    COUNT(tbl.id) >= 2
)
--
糸瀬真一


On Mon, 12 Oct 2009 12:41:43 +0900
bon <bon@xxxxxxxxxx> wrote:
----------------------- Original Message -----------------------
> 
> bonです。
> 
> 興味があったので調べてみました。
> 
> SELECT *
> FROM `tableA`
> WHERE (if(`columnA` LIKE '%||カモ||%',1,0)
>     + if(`columnA` LIKE '%||ガチョウ||%',1,0)
>     + if(`columnA` LIKE '%||スズメ||%',1,0)) >=2;
> でどうでしょう?
> 
> 
> Hisamitsu Issei <ds1i-hsmt@xxxxxxxxxx> wrote:
> 
> > 久光と申します
> > 
> > 
> > 
> > ||アヒル||カモ||ニワトリ||ガチョウ||スズメ||
> > 
> > のように「||」を区切り文字として複数の値が入って 
> > いるカラムがあります。例えば「カモまたはガチョウ 
> > またはスズメが含まれるレコード」なら
> > 
> > SELECT *
> > FROM `tableA`
> > WHERE `columnA` LIKE '%||カモ||%'
> >     OR `columnA` LIKE '%||ガチョウ||%'
> >     OR `columnA` LIKE '%||スズメ||%'
> > 
> > で抽出できますが、「カモまたはガチョウまたはスズ 
> > メのうちどれか2つ以上が含まれるレコード」の抽出 
> > 方法がわかりません。
> > 
> >  「カモが含まれていれば1なければ0、ガチョウが 
> > 含まれていれば1なければ0、スズメが含まれていれ 
> > ば1なければ0」という条件を組み込んで合計値が2 
> > 以上になるレコードを検索するという方法なのかなあ 
> > と考えたのですが具体的なSQLが思いつかなくて。
> > 
> >  よろしくお願いいたします。
> > 
> 
> 
> --
> bon@xxxxxxxxxx

--------------------- Original Message Ends --------------------

[前][次][番号順一覧][スレッド一覧]

     15031 2009-10-12 12:16 [Hisamitsu Issei <ds1] 「2つ以上含む」検索                    
     15032 2009-10-12 12:41 ┗[bon <bon@xxxxxxxxxx>]                                       
->   15033 2009-10-12 12:57  ┣[ユウシステム 糸瀬 <i]                                     
     15035 2009-10-12 13:14  ┃┗[Hisamitsu Issei <ds1]                                   
     15034 2009-10-12 13:09  ┗[Hisamitsu Issei <ds1]