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

mysql:15032

From: bon <bon <bon@xxxxxxxxxx>>
Date: Mon, 12 Oct 2009 12:41:43 +0900
Subject: [mysql 15032] Re: 「2つ以上含む」検索


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

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

     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]