我在下面寫了兩個查詢,每個查詢產生一行數據。水平連接兩個查詢
什麼是最好的方式來組合它們,使我只有一行數據的LEFT
?
這些都是未來 databases
命名:ASN01]和[dsi_ASN_dsicx]
我70對這樣的數據庫,但我只顯示一個簡單性。
三字母首字母縮寫詞ASN在兩個數據庫名稱中都是通用的這一事實沒有錯,如果需要可以成爲解決方案的一部分。
當前結果:
網站,Elligence(標題) ASN,100.00
網站,GP_Total(標題) ASN,120.00
期望的結果:
網站,GP_Total, Elligence(header) 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'
這看起來像兩組不同的數據。什麼定義了一個共同的行?這些查詢甚至產生相同數量的行嗎? – Paparazzi 2012-03-13 00:10:17
它在帖子中說,他只收到每個查詢@Blam的一行。他希望他們加入一行。 – ImGreg 2012-03-13 02:36:47