1

不明な数のキーワードに対してSQLクエリを書きたいです。キーワード(タグ)は、このようにテーブルに格納されます

               列 1 列 2
               アイテム1 タグ1
               アイテム1 タグ2
               アイテム1 タグ3
                 . .
                 . .
                 . .
          
これで、ユーザーは任意の数のキーワードを入力してテーブルを検索できます。を使用すると、and厳密な検索が行われます。使用orすると、1 つのキーワードのみに一致するアイテムが検索されます。すべてではないにしても、検索で指定された最大のキーワードを動的に形成し、使用するクエリが必要です。のようVehicleにアイテムとキーワードがあります。Car, Vehicle, conveyance, Cycle, Bike, truck. ここで、テキスト ボックスにキーワードを入力しBike Cycleて、車両アイテムを検索するためのクエリを形成する必要があります。

4

4 に答える 4

0

これが欲しかったのですか?

SELECT * FROM TABLE WHERE x.Keywords in (Select * FROM ListOfWantedKeywords) -- 必要なキーワードのリストが動的検索です。

于 2013-05-21T10:15:54.297 に答える
0

これを探していますか?

バージョン:

SELECT
    SRC.*
FROM SRC
WHERE NOT EXISTS (
    SELECT TOP(1)
        1
    FROM (
        VALUES
            ('xxx')
            , ('yyy')
    ) AS KEYWORDS(Word)
    WHERE SRC.col NOT LIKE '%' + Word + '%'
)

またはバージョン:

SELECT
    SRC.*
FROM SRC
WHERE EXISTS (
    SELECT TOP(1)
        1
    FROM (
        VALUES
            ('xxx')
            , ('yyy')
    ) AS KEYWORDS(Word)
    WHERE SRC.col LIKE '%' + Word + '%'
)
于 2013-05-21T10:16:34.500 に答える