programing

WHERE 문이 작동하지 않음

subpage 2023. 10. 31. 22:08
반응형

WHERE 문이 작동하지 않음

2019-04-01년과 2020-03-31년 사이에만 환불을 하기 위해 accountledger.거래 날짜를 필터링하려고 합니다.

그러나 WHERE 조항은 효력이 없습니다.

스크립트 내의 여러 위치에 WHERE 문을 재배치했지만 결과는 변경되지 않았습니다.

이게 내 암호입니다.

SELECT accountledger.CAMPUSCODE, accountledger.ID, students.FNAME,
    students.LNAME, accountledger.PROGRAM,
    accountledger.TRANSACTIONDATE, accountledger.TRANSACTIONAMOUNT,
    accountledger.DESCRIPTION as 'ENR Desc',
    accountledger.TRANSACTIONCODE as 'Inv Desc',
    chart_accounts.NAME AS 'ChAcc Name' 
FROM accountledger 

INNER JOIN students 
  ON accountledger.ID = students.ID
INNER JOIN fees 
  ON accountledger.TRANSACTIONCODE = fees.NAME
INNER JOIN chart_accounts 
  ON fees.ACCOUNT = chart_accounts.ACCOUNT

WHERE accountledger.TRANSACTIONtype = 'I' 
  and accountledger.transactioncode like '%refund%'
   or accountledger.transactioncode like '%paid to d-ed%'
   or accountledger.transactioncode like '%paid to military%'
   or accountledger.transactioncode like '%paid to voc rehab%'
  and chart_accounts.NAME
  AND accountledger.transactiondate BETWEEN 2019-04-01 AND 2020-03-31
GROUP BY accountledger.id
ORDER BY accountledger.TRANSACTIONDATE

WHERE 명세서의 날짜 파라미터 내에 발행된 환불만 기대하고 있습니다.그러나 이 스크립트는 거래일에 관계없이 모든 환불을 반환합니다.

올바른 구문 사용

accountledger.transactiondate BETWEEN CAST('2019-04-01' AS DATE) AND CAST('2020-03-31' AS DATE) 

대신에

accountledger.transactiondate BETWEEN 2019-04-01 AND 2020-03-31

언급URL : https://stackoverflow.com/questions/56026178/where-statement-not-functioning

반응형