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

存在しないものを選択してください

    タグ('c'、'cg'、'rx')が上記と同じ構造のtags_matchというテーブルにあると仮定しましょう

    次に、これを行うことができます:

    select tr.name 
    from tags as tl 
        right join tags_match as tr 
        on tl.name = tr.name
    where tl.name is null
    

    これにより、tags_match内でタグに含まれていないすべてのアイテムが検出されるため、目的の結果が得られますが、残念ながら、タグ('c'、'cg'、'rx')はテーブルにありません:(

    >

    サブクエリを使用してテーブルを「偽造」できるかどうかに関係なく

    select tr.name 
    from tags as tl 
        right join (select 'cg' as name 
                    union select 'c' as name 
                    union select 'rx' as name) as tr 
        on tl.name = tr.name
    where tl.name is null
    

    少し醜いですが、これでうまくいきます。テストしたい項目がたくさんある場合は、実際の一時テーブルの作成を検討することをお勧めします。



    1. 各GROUPBYグループの最初の行を選択する方法

    2. foreachとfetchを使用したPHPPDO

    3. SQLクエリを使用してデータベースに日付ではなく時間のみを保存する方法

    4. MySQLエラー150、テーブルを作成できません