| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
41 バイト追加 、 2020年2月15日 (土) 08:01
編集の要約なし
==DB2 再帰==
[[DB2]]{{category SQL}}
*[http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0059242.html?cp=SSEPGG_10.1.0%2F2-9-6-3-0-0&lang=ja 再帰の例: 部品表からのメモ]
*「'01' で示されている部品を作成するにはどの部品が必要か」という質問に答える
*直接の副部品、副部品の副部品などが入る
<&lt;blockquote>&gt;ある部品が何回も使用される場合でも、その副部品は 1 回しかリストに示されません<&lt;/blockquote>&gt;
WITH RPL (PART, SUBPART, QUANTITY) AS
( SELECT ROOT.PART, ROOT.SUBPART, ROOT.QUANTITY
*サブコンポーネントが 1 回しかリストに現れないようになっています (これは SELECT DISTINCT を使用した結果です)
<&lt;blockquote>&gt;再帰的共通表式では、 無限ループ になる可能性を必ず考慮に入れてください<&lt;/blockquote>&gt;
===要約正展開===
*部品 '01' の作成には各部品が合計どれくらい必要か
01 13 150
01 14 144
<&lt;blockquote>&gt;副部品が '06' の行に注目してください。 合計使用量の値 15 は、部品 '01' のための直接の数 3 と、 部品 '02' のための数 (6) に部品 '01' の数 (2) を掛けたものとを加えた数<&lt;/blockquote>&gt;
===深さの制御===
FROM RPL PARENT, PARTLIST CHILD
WHERE PARENT.SUBPART = CHILD.PART
AND PARENT.LEVEL < &lt; 2
)
SELECT PART, LEVEL, SUBPART, QUANTITY

案内メニュー