1

keywordsキーワード列で名前が付けられたもの。domains列ドメインを持つ別のテーブル。keywords表のキーワードのいずれかがドメインに表示されているかどうかを確認したいですか?

それについてどうやって行くのですか?like演算子を使って比較したい。このクエリを試しました

SELECT domain
FROM domains, keywords
WHERE keyword like concat('%',domain,'%')

しかし、私はいつも空のセットを取得します。たとえば、keyowrdshopと「www.dailyshop.com」という名前のドメインがあります。現在、ショップは上記のドメイン内にあります。したがって、「www.dailyshop.com」がクエリ結果に表示されます。助けてください

4

1 に答える 1

3

検索列を入れ替える必要があります。パターンマッチングを参照してください

SELECT domain
FROM domains, keywords
WHERE domain like concat('%',keyword,'%');

例えば

SELECT 'www.dailyshop.com' LIKE CONCAT('%','shop','%');
+-------------------------------------------------+
| 'www.dailyshop.com' LIKE CONCAT('%','shop','%') |
+-------------------------------------------------+
|                                               1 |
+-------------------------------------------------+
于 2012-08-27T13:21:14.500 に答える