2009-10-07 181 views
1

我有兩個不同的查詢:合併結果

SELECT 
    PB_BANK_CODE, 
    PB_BANK_NAME 
FROM GLAS_PDC_BANKS 
WHERE PB_COMP_CODE='1' 
AND PB_BANK_CODE='025' 
AND PB_BANK_CODE IN (
    SELECT DISTINCT PC_BANK_FROM 
    FROM GLAS_PDC_CHEQUES 
    WHERE PC_BANK_FROM ='025' 
    AND ISNULL(PC_DISCD,'X') != 'C' 
    AND PC_DUE_DATETIME BETWEEN '05/05/2008' AND '05/06/2008' 
) 

SELECT ISNULL(SUM(PC_AMOUNT),0) 
FROM GLAS_PDC_CHEQUES 
WHERE PC_BANK_FROM ='025' 
AND ISNULL(PC_DISCD,'X') != 'C' 
AND PC_DUE_DATETIME BETWEEN '05/05/2008' AND '05/06/2008' 

我想這兩個合併,這樣我可以得到PB_BANK_CODEPB_BANK_NAME,並ISNULL(SUM(PC_AMOUNT),0)在一個數據集中。

如何在SQL Server 2005中合併這兩個查詢?

+4

您希望加入這些表格/輸出結果的哪些鍵(CAPS除外)? – 2009-10-07 15:16:38

回答

2

這應該這樣做...

我覺得呢?

SELECT 
    PB_BANK_CODE, 
    PB_BANK_NAME, 
    ISNULL(SUM(PC_AMOUNT),0) 
FROM GLAS_PDC_BANKS inner join GLAS_PDC_CHEQUES 
    on GLAS_PDC_BANKS.PB_BANK_CODE = GLAS_PDC_CHEQUES.PC_BANK_FROM 
WHERE PB_COMP_CODE='1' 
    AND PB_BANK_CODE='025' 
    AND ISNULL(PC_DISCD,'X') != 'C' 
    AND PC_DUE_DATETIME BETWEEN '05/05/2008' AND '05/06/2008' 
+0

你是對的,這可能有效,我不知道PB_BANK_CODE和PC_BANK_FROM有關係,但它確實似乎是這樣,因爲它們都具有相同的'025'值。 – 2009-10-07 15:54:10

9

你需要讓兩種技術的使用:

  • SQL JOIN語法(查一查你的數據庫文件中,你沒有提到你正在使用的數據庫)
  • 小寫鍵在你的電腦鍵盤上。
0

如果表GLAS_PDC_BANKS和GLAS_PDC_CHEQUES那麼你可以加入兩個表,並做一些小的修改,查詢之間的關係。在不知道這兩張表格之間存在何種關係的情況下,我無法提供更詳細的答案。