WindChillデータベースを照会して、特定の部品(アセンブリ)のすべての子部品を取得しようとしています。私が今持っていることはこれです:PTC WindChillクエリでも削除されたリンクが読み取られます
-- this is how sql server management studio rewrites an oracle join
SELECT M1.WTPARTNUMBER AS COMPONENT, M2.WTPARTNUMBER AS ASSEMBLY, MAX(WTPARTUSAGELINK.AMOUNTA7) AS AMOUNT
FROM WTPART, WTPARTMASTER M2, WTPARTUSAGELINK, WTPARTMASTER M1
WHERE WTPART.IDA3MASTERREFERENCE = M2.IDA2A2
AND WTPART.IDA2A2 = WTPARTUSAGELINK.IDA3A5
AND WTPARTUSAGELINK.IDA3B5 = M1.IDA2A2
GROUP BY M2.WTPARTNUMBER, M1.WTPARTNUMBER
order by M2.WTPARTNUMBER, M1.WTPARTNUMBER
それは私のツリーを構築するとき、私は後でフィルタリングすることができた、私はすべてのアセンブリとその部品のリストを取得するという意味で動作します。これは完璧です。合計1kのアセンブリがあります。
問題は、WindChillから削除した行(WindChill Webアプリケーションには表示されません)が表示されることです。私はこれが長い間起こっていることを認識していますが、参加する必要のある別のテーブルや、潜在的な子供の部分を実際に入れるかどうかを知るためのものがありますか?
私はWindChillの経験がありませんでしたが、これらのテーブルには、削除された列が削除されたときにYes(または状態がDeletedなどに設定されている)に設定されているように見えます。ウェブアプリ(実際にデータを削除するのではなく)そのような場合は、deleted = 'Yes'条件(またはそれが何であるかは問わない)をクエリに追加するだけです。 – Craig
実際にはそうですが、間違った行についてもfalseに設定されています。 – Blindy