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]