以下の2つのクエリは、それぞれ1行のデータを生成します。2つのクエリを水平方向に結合する
私はLEFT
のように1つのデータ行だけを組み合わせる最良の方法は何ですか?これらの2つのDISTINCT
databases
FROM
を来ている
の名前:[ASN01]と[dsi_ASN_dsicx]
私はこのようなデータベースの70ペアを持っていますが、簡単にするために一つだけを示しています。
3文字の頭字語ASNが両方のデータベース名に共通するという事実は間違いではなく、必要であれば解決の一部となります。
現在の結果:
サイト、Elligence(ヘッダ) ASN、100.00
サイト、GP_Total(ヘッダ) ASN、120.00
所望の結果:
サイト、GP_Total、 Elligence(ヘッダー) ASN、120.00、100.00
SELECT 'ASN' AS Site ,
CASE SUM(perdblnc)
WHEN NULL THEN 0
ELSE -1 * SUM(PERDBLNC)
END AS GP_Total
FROM [ASN01].[dbo].[GL10110] T1
LEFT OUTER JOIN [ASN01].[dbo].[GL00105] T2 ON [T1].[ACTINDX] = [T2].[ACTINDX]
WHERE YEAR1 = 2012
AND PERIODID IN ('2')
AND ACTNUMST IN ('4200-0000-C', '6940-0000-C', '6945-0000-C',
'6950-0000-C')
SELECT 'ASN' AS [Site] ,
SUM(pi.amount) AS [Elligence]
FROM [dsi_ASN_dsicx].dbo.charge c
LEFT JOIN [dsi_ASN_dsicx].dbo.paymentitem pi ON c.idcharge = pi.chargeid
LEFT JOIN [dsi_ASN_dsicx].dbo.payment p ON pi.paymentid = p.idpayment
LEFT JOIN [dsi_ASN_dsicx].dbo.paymenttype pt ON p.paymenttypeid = pt.idpaymenttype
WHERE pi.amount != 0
AND pt.paymentmethod NOT IN ('5', '7')
AND pt.paymentmethod IS NOT NULL
AND p.sdate >= '20120201'
AND p.sdate <= '20120229'
これは、2つの異なるデータセットのようです。共通の行を定義するものは何ですか?これらのクエリでも同じ数の行が生成されますか? – Paparazzi
それはポストでは、彼は各クエリ@Blamから1つの行だけを取得すると言います。彼は彼らが1つの列に加わりたいと思う。本当に異なる質問に答えるためには+1 – ImGreg