コンマで区切られた複数の値を入力できる列があるテーブルnewsarchive
があります。tags
で指定したタグに一致するニュースが表示されるページがありますnewsarchive.tags
。ページ内のタグは、複数の値を持つこともできます。
タグに一致するレコードを page から取得したいと思いますnewsarchive.tags
。結果を達成するための SQL ステートメントはありますか?
CREATE TABLE newsarchive (
newsid int(11) NOT NULL auto_increment,
headline text NOT NULL,
article text NOT NULL,
pdate date NOT NULL default '0000-00-00',
tags text NOT NULL,
PRIMARY KEY (newsid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=107 ;
例
newsarchive.tags of record#1="Nepal, Everest, Kathmandu"
newsarchive.tags of record#2="Kathmandu,Pokhara"
newsarchive.tags of record#3="Everest,Pokhara"
tags(in page)="Nepal, Kathmandu"
結果は次のようになります。
record#1
record#2
私は次のSELECT
ステートメントを使用してIN
います
SELECT * FROM newsarchive WHERE tags IN ('Nepal','Kathmandu') ORDER BY postdate;
ノート:
最もタグが一致したレコードが最初に表示されると嬉しいです。