sql >> Databasteknik >  >> RDS >> Mysql

Returnerar NULL med WHERE IN

En right outer join , left outer join , case och även not exists kan också användas. Några exempel nedan... (med länkar till SQL Fiddle-arbetsexempel).

Höger yttre koppling till temporär tabell (välj # 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

Höger yttre koppling till 2:a bordet

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



  1. SQL Server SELECT INTO @variable?

  2. Arkivera en Jframe från MySQL

  3. Hur kan jag rekursivt få det överordnade ID:t för rader i denna MySQL-tabell?

  4. Ett skript för att ändra alla tabeller och fält till utf-8-bin-kollationen i MYSQL