我有一个members表,其中有一个列amount,其中已经有一个整数值,我希望将它添加到该值中,然后使用它的内容来更新另一个表accounts,该表保存被贷记的金额和新的余额(即加法后)。
$this->query_array = array(':amt' => $amount, ':uid' => $userid, ':dat' => $date );
$this->query_string = "UPDATE members SET amount = amount + :amt;
INSERT INTO accounts VALUES ( :uid, :amt, members.amount + :amt, :dat);";这就是我上面的查询,我试图从members.amount查询中获取update表,并在insert查询中使用它--有一种比我尝试的更好的方法。
样本数据:
Members Table userid amount
---------------------
u123 4000
y123 5000
Accounts Table userid credit balance dateAccounts table当前是空的,所以我想要做的是向memebrs表中的所有值添加300个,然后将类似的内容插入帐户。
Accounts Table userid credit balance date
-------------------------------------
u123 300 4300 11-11-11
y123 300 5300 11-11-11发布于 2016-10-27 11:59:06
我将使用插入..。选择。语句来实现所需的输出:
INSERT INTO accounts
SELECT members.userid, :amt, members.amount, :dat FROM members备注:
members.amount代替members.amount + :amt,因为:amt已经添加到members.amount中一次了。members表中的所有记录,但是insert语句将只为特定用户创建记录。我认为您应该将update语句仅限于特定用户,也不应将insert限制为特定用户。我选择了后一种方法。发布于 2016-10-27 11:58:49
这是一个由select查询进行的简单插入,唯一的问题是日期
INSERT INTO Accounts (userid, credit, balance, date)
SELECT userid, 300, amount, NOW()
FROM Members;https://stackoverflow.com/questions/40283665
复制相似问题