Php两表更新

问题描述 投票:0回答:1

我有一个类似于这个的MySQL数据库:

优惠券表

| id | coupon_id | host      | away        |guess    |skor  |status|
+----+-----------+-----------+-------------+---------+------+------+
|  1 | 22        | Barcelona | Real Madrid | 1       |2-1   | 1    |
|  2 | 22        | Celtic    | Porto       | 2       |1-0   | 2    |
|  3 | 23        | Barcelona | Real Madrid | 1       |2-1   | 1    |
|  4 | 23        | M city   | Chelsea      | 1       |4-1    | 1   |

优惠券表

| id | user       | Copuonstatus
+----+------------+-------------+
|  22 | Admin     | 0           | 
|  23 | Roberto   | 0           | 

我需要在一个看起来像这样的表中对结果进行排序:

COUPONS TABLE

| id | user       | Copuonstatus
+----+------------+-------------+
|  22 | Admin     | 2           | 
|  23 | Roberto   | 1           | 


NOTE : 
Copuonstatus= default value 0
status = 0 waiting
status = 1 win
status = 2 los

我查询尝试,我无法或更新INNER JOIN使用?

$q=$db->prepare("SELECT * FROM coupons INNER JOIN coupon ON 
coupon.coupon_id = coupons.id AND coupon.status=2");
$q->execute();
$sss=$q->fetchAll(PDO::FETCH_GROUP);
if ( $sss > 0){ 
$db->exec("UPDATE coupons SET coupon_status = 2  FROM coupons ON 
coupon.coupon_id = coupons.id WHERE coupons.Copuonstatus=0 ");}
php mysql pdo
1个回答
0
投票
UPDATE
  coupons AS A
  INNER JOIN coupon AS B ON A.id = B.coupon_id
SET
  coupon_status = 2
WHERE
  A.Copuonstatus = 0

希望它有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.