使用しているデータベース ソフトウェアは指定しませんが、一時テーブルを作成し、必要な値を追加して、ソース テーブルに左結合することができます。
CREATE TABLE #temp (field1 VARCHAR(10))
INSERT INTO #temp VALUES ('a')
INSERT INTO #temp VALUES ('b')
INSERT INTO #temp VALUES ('c')
INSERT INTO #temp VALUES ('d')
SELECT t1.field1, t2.field2, t2.fields
FROM #temp t1
LEFT JOIN tablename t2 ON t1.field1 = t2.field1
もう 1 つの方法は UNION です。
Select * from tablename where field1 in (a,b,c,d)
UNION
SELECT 'a', null, null, null WHERE 'a' NOT IN (select field1 FROM tablename)
UNION
SELECT 'b', null, null, null WHERE 'b' NOT IN (select field1 FROM tablename)
UNION
SELECT 'c', null, null, null WHERE 'c' NOT IN (select field1 FROM tablename)
UNION
SELECT 'd', null, null, null WHERE 'd' NOT IN (select field1 FROM tablename)
'a'
(値、'b'
、が既存のテーブルに存在しないと想定しています。それ以外の場合は、一時テーブルの例のようなそのテーブルだけ'c'
です。)'d'
LEFT JOIN