0

アカウント表

 user_id   description    credit  debit    created      modified
    01        Earned        10      0    06-11-2013     06-11-2013 
    02        Normal        0       1    05-11-2013     05-11-2013      
    03        Earned        5       0    04-11-2013     04-11-2013  
    04        Earned        20      0    03-11-2013     03-11-2013      
    05        Normal        0       1    02-11-2013     02-11-2013  
    01        Earned        5       0    02-11-2013     02-11-2013
    01        Normal        0       1    01-11-2013     01-11-2013
    02        Earned        10      0    01-11-2013     01-11-2013

次のクエリを試しました:

SELECT SUM(CASE WHEN description LIKE  '%Earned%'
THEN Credit
ELSE 0 
END ) as cre, SUM(debit) as deb FROM accounts
WHERE created is between '$Monday' AND '$Sunday'

INSERT into accounts (user_id, description, credit, debit, created, modified) 
VALUES ( 'user_id', 'Removed Free Earned', 'cre', 'deb', Now(), Now()); 

たとえば、user_id 01 の合計クレジットが 10 で、先週の月曜日から日曜日の合計デビットが 3 の場合、アカウント テーブルと合計クレジットと合計デビットをユーザーに応じて選択したい場合、「deb」の挿入クエリの場所に 7 ポイントを追加する必要があります。ただし、合計貸方が 10 で合計借方が 20 の場合、借方が貸方より大きい場合、ポイントは追加されません。

Select と Insert Query を 1 つのクエリとして記述したい。

4

2 に答える 2

0

MySQL の挿入選択構文を使用できます。

INSERT INTO accounts (col1, col2) SELECT col1, (expr) AS col2 FROM accounts
于 2013-11-08T09:58:36.997 に答える