Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zurückgeben von NULL mit WHERE IN

Ein right outer join , left outer join , case und auch not exists kann auch genutzt werden. Einige Beispiele unten ... (mit Links zu SQL Fiddle-Arbeitsbeispielen).

Right Outer Join zu temporärer Tabelle (Wählen Sie # 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-Geige:http://sqlfiddle.com/#!2/805e1c/9

Right Outer Join zur 2. Tabelle

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