0

このコードを実行して、ユーザーの請求書番号、住所などのリストを取得します。

SELECT A.id, A.userid, A.duedate, A.status, B.firstname, B.lastname, B.address1, B.city, B.postcode
FROM tblinvoices A
inner join tblclients B
on A.userid = B.id
WHERE duedate >= '2013-02-18'
AND duedate <= '2013-03-03'
AND A.status = 'Unpaid';

しかし、私はいくつかの情報を別のテーブルに挿入する必要があります。

今私は手動で実行します:

INSERT INTO `dbuser`.`tblnotes` (`id`, `userid`, `adminid`, `created`, `modified`, `note`, `sticky`) VALUES (NULL, '4585', '1', '2013-03-03 07:05:00', '', 'invoice by mail', '1');

これをどのように自動化できますか?したがって、最初のコマンドでリストされているすべての「ユーザーID」には、請求書が郵送されるというメモが追加されます。

4

1 に答える 1

0

使用INSERT INTO...SELECTステートメント、例

INSERT  INTO dbuser.tblnotes (id, userid, adminid, created, modified, note, sticky)
SELECT  NULL, A.userid, A.userid, '2013-03-03 07:05:00', '', 'invoice by mail', '1' 
FROM    tblinvoices A
        inner join tblclients B
            on A.userid = B.id
WHERE   duedate BETWEEN '2013-02-18' AND '2013-03-03' 
        AND A.status = 'Unpaid';

INSERT注:selectステートメントの値は、句の列の順序に合わせる必要があります。

于 2013-03-03T06:23:17.703 に答える