Mysql
 sql >> Database >  >> RDS >> Mysql

Restituendo NULL usando WHERE IN

Un right outer join , left outer join , case e anche not exists può anche essere utilizzato. Alcuni esempi di seguito... (con collegamenti a esempi di lavoro di SQL Fiddle).

Unisci esterno destro alla tabella temporanea (seleziona # UNION)

SELECT GROUP_CONCAT(CASE WHEN COLUMN1 IS NULL THEN "NULL" ELSE COLUMN1 END)
FROM archive
RIGHT OUTER JOIN
  (SELECT 21 AS id
   UNION SELECT 22 AS id) AS tmp ON tmp.id=archive.column2;

SQL Fiddle:http://sqlfiddle.com/#!2/805e1c/9

Unisci esterno destro al 2° tavolo

SELECT GROUP_CONCAT(
  CASE WHEN COLUMN1 IS NULL THEN "NULL" ELSE COLUMN1 END)
FROM archive
RIGHT OUTER JOIN temporary tmp ON tmp.id=archive.column2;

SQLFiddle:http://sqlfiddle.com/#!2/36fba/2