CSV列に特定の値を持たないレコードを見つける必要があります。以下クリケット 除くテーブルiはのタグが持っている従業員の名前を見つけるために必要な構造MYSQLのCSV列の除外チェック
CREATE TABLE `employee` (
`id` int NOT NULL AUTO_INCREMENT,
`first_name` varchar(100) NOT NULL,
`last_name` varchar(100) NOT NULL,
`keywords` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Sample record1: 100, Sam, Thompson, "50,51,52,53"
Sample record2: 100, Wan, Thompson, "50,52,53"
Sample record3: 100, Kan, Thompson, "53,52,50"
50 = sports
51 = cricket
52 = soccer
53 = baseball
「スポーツを、サッカー、野球」ので、結果として、この例では唯一の2番目と3番目のレコードを返す必要があります彼らは51(クリケット)を持っていないが、他のすべての3はdiffパターンである。
私の質問は以下ですが、それ以上はうまく機能しませんでした。
SELECT t.first_name,FROM `User` `t` WHERE (keywords like '50,52,53') LIMIT 10
とは違うオプションがありますか?私はどのようにこれを働かせて混乱しています。
コンマ区切りのアイテムとしてデータを保存しないでください。それはあなたに多くのトラブルを引き起こすだけです。 – jarlh