簡體   English   中英

SQL Server 2005中的查詢聯接

[英]Query joining in sql server 2005

我有兩個查詢,例如:

SELECT PC_COMP_CODE,
    PC_SL_LDGR_CODE,
    PC_SL_ACNO ACCOUNT,
    COUNT(PC_CHEQUE_NO) CHQS,
    SUM(CONVERT(FLOAT, PC_AMOUNT)) CHQ_AMT
                     FROM  GLAS_PDC_CHEQUES 
                     WHERE  PC_COMP_CODE  = '1'
                     AND PC_DISCD  IS NULL
                    GROUP BY PC_SL_LDGR_CODE,
             PC_SL_ACNO ,PC_COMP_CODE
                      ORDER BY PC_SL_ACNO 

--------------------------------------------------

  SELECT COAD_PTY_FULL_NAME,PC_COMP_CODE, PC_SL_LDGR_CODE, PC_SL_ACNO, PC_DEPT_NO, PC_DOC_TYPE, PC_CHEQUE_NO, PC_BANK_AC_NO  FROM GLAS_PTY_ADDRESS,GLAS_SBLGR_MASTERS,GLAS_PDC_CHEQUES WHERE
  COAD_COMP_CODE = '1' AND SLMA_COMP_CODE = COAD_COMP_CODE AND SLMA_ADDR_ID = COAD_ADDR_ID
  AND SLMA_LDGRCTL_CODE = PC_SL_LDGR_CODE AND PC_COMP_CODE=SLMA_COMP_CODE
  AND SLMA_ACNO = PC_SL_ACNO 
  AND SLMA_LDGRCTL_YEAR = DBO.GLAS_VALIDATIONS_GET_OPEN_YEAR(PC_COMP_CODE) 

如果我僅執行第一個查詢,就會得到5條記錄...

如果我加入上述兩個查詢,如:

SELECT
PC_COMP_CODE,
    PC_SL_LDGR_CODE,
    PC_SL_ACNO ACCOUNT,
    COUNT(PC_CHEQUE_NO) CHQS,
    SUM(CONVERT(FLOAT, PC_AMOUNT)) CHQ_AMT,
COAD_PTY_FULL_NAME
 FROM  GLAS_PDC_CHEQUES
 LEFT OUTER JOIN   GLAS_SBLGR_MASTERS
ON( SLMA_COMP_CODE=PC_COMP_CODE AND
SLMA_LDGRCTL_CODE = PC_SL_LDGR_CODE AND SLMA_ACNO = PC_SL_ACNO )
LEFT OUTER JOIN GLAS_PTY_ADDRESS ON( SLMA_COMP_CODE = COAD_COMP_CODE AND SLMA_ADDR_ID = COAD_ADDR_ID)

 WHERE  PC_COMP_CODE  = '1'
  AND PC_DISCD  IS NULL   AND SLMA_LDGRCTL_YEAR = DBO.GLAS_VALIDATIONS_GET_OPEN_YEAR(PC_COMP_CODE)
 GROUP BY PC_SL_LDGR_CODE,
    PC_SL_ACNO ,PC_COMP_CODE,COAD_PTY_FULL_NAME
 ORDER BY PC_SL_ACNO 

那我只得到2條記錄。

加入后,我需要顯示5條記錄.....我該怎么做?

我在第一個查詢中添加了所有字段,以使其更具可讀性,並更有可能使人理解事物。 不幸的是,我當時放棄了。

結果如下,但不管它有什么價值,我都會在黑暗中開槍,說你想加入UNION

SELECT id, first_name, account, COUNT(pants) pants, SUM(CONVERT(FLOAT, cost)) amount  
FROM table1  
WHERE id = '1' AND discount IS NULL GROUP BY first_name, account ,id  
ORDER BY account

SELECT full_name,id, first_name, account, department, coffee_pref, pants, acct_no  
FROM table2,table3,table1  
WHERE secret_code = '1'  
  AND public_code = secret_code  
  AND addr_id = phone_id  
  AND nickname = first_name  
  AND id=public_code  
  AND movie_rating = account  
  AND album_year = DBO.get_random_year(id) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM