私は現在この出力を持っています:
ID Name Seq
--- ----- ----
82 Morris, Allan 1
82 Morris, Allan 2
82 Morris, Allan 3
82 Morris, Cynthia 1
82 Morris, Shaun 2
82 Morris, Sarah 3
しかし、これは望ましい出力です。
ID Name Seq
--- ----- ----
82 Morris, Allan 0
82 Morris, Cynthia 1
82 Morris, Shaun 2
82 Morris, Sarah 3
これが私の現在のクエリです:
SELECT C.ID AS ID, C.Name AS Name, COALESCE(D.Seq, 0) AS Seq
FROM CMSTR C
LEFT JOIN DMSTR D ON D.ID = C.ID
UNION
SELECT C.ID AS ID, D.Name AS Name, COALESCE(D.Seq, 0) AS Seq
FROM CMSTR C
LEFT JOIN DMSTR D ON D.ID = C.ID
そして、ここにテーブル構造があります:
CMSTR
ID Name
--- -----
82 Morris, Allan
DMSTR
ID Name Seq
--- ----- ----
82 Morris, Cynthia 1
82 Morris, Shaun 2
82 Morris, Sarah 3
これは非常に単純なクエリのようですが、目的の出力を実現する方法がわかりません。助けてください!
*編集*
私は最初に次のクエリを使用してみました:
SELECT C.ID, (CASE WHEN D.Seq = 0 OR D.Seq IS NULL
THEN C.Name
ELSE C.Name
END) AS Name,
COALESCE(D.Seq, 0) AS Seq
FROM CMSTR C
LEFT JOIN DMSTR D ON D.ID = C.ID
残念ながら、上記を使用すると、親を完全に除外して、依存する名前のみが返されます。