私は次のクエリを(より大きなクエリの一部として)持っています。サブクエリ内の2つの異なるデータセットから合計結果を取得しようとしていますが、2つを1つの値にカプセル化しようとしています。私が持っているもの:UNION ALL句を使用して2つの別個のクエリを1つの値に集計する
(Select SUM('Invoiced MTD') from
((Select SUM(CASE WHEN SOH.LASDLVNUM_0 <> '' AND SOH.LASINVNUM_0 <> '' AND MONTH(SOH.SHIDAT_0) = MONTH(GETDATE()) THEN
(SOP.NETPRI_0 * SOQ.QTY_0 * SOH.CHGRAT_0) ELSE 0 END) as 'Invoiced MTD'
From x3v6.CICPROD.SORDER SOH
LEFT OUTER JOIN x3v6.CICPROD.BPCUSTOMER BPC on SOH.BPCORD_0 = BPC.BPCNUM_0
LEFT OUTER JOIN x3v6.CICPROD.SORDERQ SOQ on SOH.SOHNUM_0 = SOQ.SOHNUM_0
LEFT OUTER JOIN x3v6.CICPROD.SORDERP SOP on SOQ.SOHNUM_0 = SOP.SOHNUM_0 and SOQ.SOPLIN_0 = SOP.SOPLIN_0 and SOQ.SOQSEQ_0 = SOP.SOPSEQ_0
LEFT OUTER JOIN x3v6.CICPROD.ITMMASTER ITM on SOP.ITMREF_0 = ITM.ITMREF_0))
UNION ALL
((Select SUM(CASE WHEN SIH.INVTYP_0 = 2 and MONTH(SIH.ACCDAT_0) = MONTH(GETDATE()) THEN SID.AMTNOTLIN_0 * (-1) ELSE 0 END) as 'Invoiced MTD'
From x3v6.CICPROD.SINVOICE SIH
Left Outer Join x3v6.CICPROD.SINVOICED SID on SIH.NUM_0 = SID.NUM_0))
as 'T2',
しかし、私はUNION ALL節がどこにあるのか分かりません。基本的には、セールスクレジットメモとセールスオーダードルの合計を別々のテーブルから組み合わせたいと思っています。
誰でも私にこれを助けることができますか?
どのようなエラーが表示されますか? 2つの列のデータ型は一致していますか? –
どのDBMSを使用していますか?文字列リテラルに対する 'sum()'は意味をなさないと思われます。 –
DMBSはSQL-SRV 2012です。 –