sql >> データベース >  >> RDS >> Mysql

MySQLテーブルのCSVデータを含む列で入力値の存在を検索する

    まず第一に、データベースにはもちろんコンマ区切りの値を含めるべきではありませんが、これをすでに知っていることを願っています。テーブルが正規化されている場合、次のようなクエリを使用してアイテムを簡単に取得できます。

    select distinct i.Itemid
    from Item i
    inner join ItemFeature f on f.ItemId = i.ItemId
    where f.Feature in ('AB', 'PQ')
    

    カンマ区切りの値の文字列を一致させることはできますが、あまり効率的ではありません:

    select Id
    from Item
    where
      instr(concat(',', Features, ','), ',AB,') <> 0 or
      instr(concat(',', Features, ','), ',PQ,') <> 0
    


    1. SQL Server Management Studio(SSMS)で上位X行を編集して上位X行を選択するための値を変更する方法-SQL Server/TSQLチュートリアルパート20

    2. OracleASエイリアスが機能しない

    3. ディスクI/Oのボトルネックのトラブルシューティング

    4. max(timestamp)に基づくMysql結合