2012-04-01 54 views
0
CREATE EVENT myevent4 
ON SCHEDULE EVERY '1' MINUTE 
DO 
UPDATE receipt r 
inner join loan l 
on l.l_app_file_id=r.r_app_file_id 
SET delinquent = (
    if r.receipt_on='Principal' AND r.receipt amount >= l.app_principal 
    THEN 1 
    ELSE 0 

    END 
); 

我有兩個表的貸款和接收條件MySQL事件,我想創建一個事件,這樣,當列receipt_on(從收到表)是「委託人」和列receipt_amount(從收到表)大於或等於柱app_principal(從貸款表),然後設置列拖欠(從收到表)爲0,否則,1 不過似乎有一個錯誤在我的事件兩個表

回答

1

嘗試以下

CREATE EVENT myevent4 
ON SCHEDULE EVERY '1' MINUTE 
DO 
UPDATE receipt r 
inner join loan l 
on l.l_app_file_id=r.r_app_file_id 
SET delinquent = (
    case when r.receipt_on='Principal' AND r.receipt amount >= l.app_principal 
    THEN 1 
    ELSE 0 

    END 
) 
+0

非常感謝你! – dames 2012-04-01 12:59:45

+0

你可以快速瀏覽一下@這個請林試着合併事件在一個類似於你回答 – dames 2012-04-01 13:45:11

+0

CREATE EVENT中的一個myevent6 ON SCHEDULE EVERY「1」 MINUTE DO UPDATE收據R 內開左加入貸款升 .l_app_file_id = r.r_app_file_id SET delinquent3 =( 情況下,當r.receipt_on = '每季度興趣' AND r.receipt_amount> = l.app_quarterly_intrest 0 THEN ELSE END) \t SET delinquent2 =( \t情況下當r.receipt_on ='Principal'且r.receipt_amount> = l.app_principal \t \t 0 THEN ELSE END) – dames 2012-04-01 13:45:41