ややこしいタイトルかもしれません。基本的に、電子メールの受信トレイを考えてください。私はテーブルを持っています:
ご覧のとおり、これは非常に単純な再帰テーブルであり、メッセージのparentIDのみを持ち、緑色のハイライトリングでわかるように、「チェーン」の終わりはparentIDにNULLがある場合です。
必要なのは、(たとえば) 12 の INBOXID を提供し、すべての親を返すことです。この例では、11
の INBOXID である 1 つのレコードを取得する必要があります。2 番目の例では、INBOXID を渡すことができるはずです。 9 個のうち、今回は INBOXID 8、7、および 1 の行を取得する
次のクエリである程度成功しました。
with q as
(
select inboxid, parentid
from bizzbox
union all
select a.inboxid, a.parentid
from bizzbox a
inner join q on q.inboxID = a.parentID
)
select distinct * from q
..しかし、もちろん、行のいずれかのすべての親を返します..おそらく、selectの1つのwhere句のような本当にばかげた単純なものであることは知っています..しかし、それを試してみました(つまり、開始点の inboxid)、何をする必要があるのか よくわかりません???
どんな助けでも大歓迎です!!!!! デビッド。