Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. F# Начинаещ:извличане на масив от данни от сървър

  2. PostgreSQL GROUP BY различна от MySQL?

  3. Пребройте броя на последователните посещения

  4. Проверете дали текущата дата е между две дати + заявка за избор на mysql

  5. Извикване на асинхронен метод на PHP в рамката Yii