0

SQL Server 2008 を使用しています

私は結果を持っています1

ProductCode    ApprovedQuantity productlineid
----------------------------------------
599-128-001     1              1
599-129-001     0              1

結果セット 2

productlineid  Damage
------------------------------
   1           MissingCriticalComponents
   1           BrokenConnector/Clip

以下のような2つの選択ステートメントから上記の2つの結果セットを結合したい

 ProductCode    ApprovedQuantity   MissingCriticalComponents BrokenConnector/Clip
-----------------------------------------------------------------------------------
599-128-001     7
599-129-001     5

結果セット 2 の値は動的です (つまり、損傷の種類は固定されていません。変化します。) 結果セット 2 の行の値を列の値として、結果セット 1 の行の値が空/null の値として追加したいと考えています。

2 つの select ステートメントを 1 つに結合し、以下のような結果セットにすることができます

 ProductCode    ApprovedQuantity     Damage
--------------------------------------------------------    
599-128-001     7       Broken Connector/Clip
599-129-001     5       Broken Connector/Clip
599-128-001     7       Missing Critical Components
599-129-001     5       Missing Critical Components

入力してください

アップデート:

これは、小売製品の発注書用です。PFB は私の要件の簡略化されたバージョンです。productLine テーブル、Product テーブル、purchare order テーブル、および damagetype テーブルがあります。

製品一覧表

 Productlineid       productlinename
-------------------------------------
     1                   xx
     2                   yy

製品表

   ProductCode    Productlineid     .....
-----------------------------------------------------------------------------------
599-128-001     1
599-129-001     1
599-128-002     2
599-129-002     2

ダメージ表

productlineid  Damage
------------------------------
  1           MissingCriticalComponents
  1           BrokenConnector/Clip
  2           water damaged
  2           brokenLens

注文明細表

  ProductCode    ApprovedQuantity     OrderID
--------------------------------------------------------    
599-128-001     7       101
599-129-001     5       101
599-128-001     7       102
599-129-001     5       102

UI : エクセルへのエクスポートオプション付き注文管理画面あり / グリッドビュー

注文 ID を入力として、注文の詳細をそのダメージ タイプに沿って空の行の値を持つ新しい列としてフェッチする必要があります。Excel またはグリッドを使用して、注文ごとに破損したユニットを更新します。

私の目標は、以下に示すように結果セットを取得することです

 ProductCode    ApprovedQuantity   MissingCriticalComponents BrokenConnector/Clip
-----------------------------------------------------------------------------------
599-128-001     7
599-129-001     5
4

1 に答える 1

0

表示されている 3 番目のテーブルを取得する SELECT QUERY が必要なだけですか?

あなたの2つの結果が単一のテーブルで2つの選択であると仮定します...

SELECT T1.productCode, T1.ApprovedQuantity, T2.Damage
FROM TABLE1 T1
LEFT JOIN TABLE2 T2 ON T2.productlineid  = T1.productlineid  

それはあなたが望んでいたものですか?

于 2013-10-21T15:26:14.937 に答える