2017-01-30 4 views
0

を使用してこの結果を達成しようとしています。以下の表では、説明に従って異なる列に異なる金額があります。 T-SQLスクリプトを使用して、すべての金額を1つの列に入れ、もう1つを列に入れたいと考えています。テーブル名はrawdataです。私はT-SQLクエリ

現在のテーブルの結果:

enter image description here

SSI_CUST_TRANS# WAYBILL# BILL_OF_LADING NET_FREIGHT_CHARGES MISC_CODE1_DESC MISC_CODE1_AMT MISC_CODE2_DESC MISC_CODE2_AMT MISC_CODE3_DESC MISC_CODE3_AMT MISC_CODE4_DESC MISC_CODE4_AMT 
3574296 618852 618852 32.5 SPECIAL DELIVERY 40 FUEL SURCHARGE 4.88 NULL NULL NULL NULL 
3574319 618852 618852 32.5 SPECIAL DELIVERY 40 FUEL SURCHARGE 4.88 NULL NULL NULL NULL 

必要な結果:

BILL_OF_LADING WAYBILL# SSI_CUST_TRANS# Charge Type Desc Amount 
618852 618852 3574296 AMOUNT_PAID  77.38 
618852 618852 3574296 NET_FREIGHT_CHARGES ELECTRONIC EQUIP./PARTS 32.5 
618852 618852 3574296 SPECIAL DELIVERY  40 
618852 618852 3574296 FUEL SURCHARGE  4.88 
618852 618852 3574319 AMOUNT_PAID  0 
618852 618852 3574319 NET_FREIGHT_CHARGES ELECTRONIC EQUIP./PARTS 32.5 
618852 618852 3574319 SPECIAL DELIVERY  40 
618852 618852 3574319 FUEL SURCHARGE  4.88 

enter image description here我々は画像に示すように移調する量と説明をします。上記のデータから、

+2

、画像を使用してコピーし、実際と期待される結果を貼り付けないでください必要があります。 – McNets

+3

[ask]をお読みください。次に、質問データをDDL + DMLステートメントとして、サンプルデータを表形式のテキストとして含めるように編集します。 –

答えて

1

この
期待される出力のようにしようとしたが、より多くのデータが

CREATE TABLE #A 
(
SSI_CUST_TRANS BIGINT, 
WAYBILL BIGINT, 
BILL_OF_LADING BIGINT, 
NET_FREIGHT_CHARGES NUMERIC(22,6), 
MISC_CODE1_DESC VARCHAR(100), 
MISC_CODE1_AMT BIGINT, 
MISC_CODE2_DESC VARCHAR(100), 
MISC_CODE2_AMT BIGINT, 
MISC_CODE3_DESC VARCHAR(100), 
MISC_CODE3_AMT BIGINT, 
MISC_CODE4_DESC VARCHAR(100), 
MISC_CODE4_AMT BIGINT 
) 
INSERT INTO #A 
(SSI_CUST_TRANS,WAYBILL,BILL_OF_LADING,NET_FREIGHT_CHARGES,MISC_CODE1_DESC,MISC_CODE1_AMT,MISC_CODE2_DESC,MISC_CODE2_AMT) 
VALUES 

(3574296,618852,618852,32.5,'SPECIAL DELIVERY',40,'FUEL SURCHARGE',4.88),  
(3574319,618852,618852,32.5,'SPECIAL DELIVERY',40,'FUEL SURCHARGE',4.88)  


SELECT DISTINCT BILL_OF_LADING,WAYBILL,SSI_CUST_TRANS,CHARGE_TYPE,NET_FREIGHT_CHARGES,AMOUNT 
FROM #A 
CROSS APPLY (VALUES (MISC_CODE1_DESC, MISC_CODE1_AMT), 
        (MISC_CODE2_DESC, MISC_CODE2_AMT), 
        (MISC_CODE3_DESC, MISC_CODE3_AMT), 
        (MISC_CODE4_DESC, MISC_CODE4_AMT) 
        ) 
      CROSSAPPLIED (CHARGE_TYPE, AMOUNT) 

出力は

BILL_OF_LADING WAYBILL SSI_CUST_TRANS CHARGE_TYPE NET_FREIGHT_CHARGES AMOUNT 
618852 618852 3574296 SPECIAL DELIVERY 32.500000 40 
618852 618852 3574296 FUEL SURCHARGE 32.500000 4 
618852 618852 3574296 NULL 32.500000 NULL 
618852 618852 3574296 NULL 32.500000 NULL 
618852 618852 3574319 SPECIAL DELIVERY 32.500000 40 
618852 618852 3574319 FUEL SURCHARGE 32.500000 4 
618852 618852 3574319 NULL 32.500000 NULL 
618852 618852 3574319 NULL 32.500000 NULL 
+0

ありがとう、私は他の調整を行います、ありがとうたくさん –

+0

ようこそ... @ tharunthamaiah – Chanukya

関連する問題