0

私はテーブルシステムを持っています

コンポーネント | サブコンポーネント (サブシステム テーブルを持つ外部キー)
----------+-------------
CPU | 1
モニター |
液晶 |
キーボード |
マウス |

サブコンポーネント テーブル

ID | 名前
--+-------------
1 | マザーボード
1 | ハードディスク
1 | のCD-ROM

今、インデント付きで印刷したい

望ましい出力

CPU
   --マザーボード
   - ハードディスク
   - のCD-ROM
キーボード
ねずみ
液晶

どのように可能ですか?

4

1 に答える 1

1

たとえば、左結合といくつかの文字列フォーマット関数を使用して可能です。

select ... as parent, '  -- ' || coalesce(..., '') as child
from ... left join ... on ...

代わりにユニオンなどを使用して、要求したものを正確に取得することもできます。

しかし、すでに提案されているように、それはビューに任せるべきです。

于 2013-10-17T14:12:42.117 に答える