2014-11-24 5 views
0

두 날짜의 차이를 기반으로 테이블 열을 업데이트해야하는 학교 과제에 어려움을 겪고 있습니다. 차이가 표의 '만기'열보다 작거나 같으면 '지불'열을 'PaymentOK'로 설정해야합니다. 차이가 '만기'보다 크면 '지불'을 'Bilker'로 설정해야합니다. '.datediff가 동일한 테이블의 다른 열보다 큰 경우 업데이트 열

나는 문 THEN 경우

#IFNOTFieldExists(TableName=Invoices;FieldName=Payment;) 
Alter table Invoices ADD COLUMN Payment TEXT 
GO 
UPDATE Invoices SET Payment = CASE 
WHEN DATEDIFF (Day, Datum, ZaplateneDna) <= Maturity 
THEN 'PaymentOK' 
ELSE 'Bilker' 

END 
#ENDIF 

는 노력 UPDATE CASE 문을 시도했다하지만, 난 여전히 구문 오류를 받고 있어요. 저는 SQL에서 약간 새로운데 DATEDIFF가 < = 또는> then Column2를 (<> 부호를 기반으로) 설정하면 UPDATE column1을 결합 할 수 없습니다.

어떤 아이디어 나 조언이 필요하십니까? 미리 감사드립니다. 많은 감사를드립니다.

답변

2
UPDATE Invoices 
SET Payment = CASE 
        WHEN DATEDIFF(DAY, [Date], DateOfPayment) <= Maturity 
        THEN 'PaymentOK' 
        ELSE 'Bilker' 
       END 
+0

사용중인 쿼리로 질문을 업데이트 하시겠습니까? –

+0

질문이 수정되었습니다. – pedro

관련 문제