2016-06-23 4 views
0

初心者のSQL Serverユーザーとして、解決策がわからないという問題が発生しました。私はアイテムとそのコストのマスターリストを描こうとしています。一部の品目には独自の原価を持つ構成品目があり、それらも呼び出す必要があります。ただし、コンポーネントアイテムを含めると、クエリはコンポーネントなしでアイテムを返しません。SQL Server:データリターンに関する問題

例:A、B、Cの3つの項目を呼び出します。費用は完全に表示されます。しかし、アイテムCにはコンポーネントアイテムXがあることがわかります。コンポーネントアイテムの列を追加しようとすると、アイテムAとBはコンポーネントアイテムを持たないため、クエリに返されません。私は、項目にそれに付随するコンポーネント項目がないときにNULLが置かれない理由を理解できません。ここで

は私のクエリです:

SELECT 
    T1.item_no, T2.item_cost, T1.component_item_no, T2.item_cost(2) 
FROM 
    T1 
INNER JOIN 
    T2 ON T2.item_no = T1.item_no 
INNER JOIN 
    T2(2) ON T2.item_no = T1.component_item_no 

私はトップレベル項目の両方のアイテムのコストを呼び出すことができますだけでなく、それはコンポーネントですので、二度T2を呼び出す必要がありました。

サンプルリターンデータ:

enter image description here

+0

コンポーネント項目テーブルのためにJOINをLEFTに登録しようか! – jarlh

+0

[** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t [**スタート**] http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)質問品質を向上させ、より良い回答を得る方法を学ぶことができます。 –

+0

@jarlhは、私が望む結果のサンプルと、受け取った結果をいくつか追加しました。 – GHINOTE

答えて

0

変更INNERはあなたには、いくつかのサンプルデータと予想される結果を追加でき

+0

どちらか、またはその1つだけ? – GHINOTE

+0

@GHINOTE、なぜすべてのバージョンを試してみて、違いが見えますか? SQLを学ぶための素晴らしい方法。 – jarlh

+0

それは彼を助けるつもりはありません...試行錯誤によるSQLは、すべての時間を無駄にします。 – logixologist

関連する問題