如何使用select更新查询? MySQL的
我要计数每个业务点有交易或画廊:如何使用select更新查询? MySQL的
因此,如果企业有未空交易,或者至少有一个画廊,business_data_count应该为2
这是我”已经试过:
UPDATE `business` businessTable SET business_data_count
=
sum(
(
SELECT
CASE
WHEN count(*)>= 1 then count(*)
ELSE 0
END as points
FROM gallery WHERE bussId=businessTable.bussId
)
+
(
SELECT
case
WHEN deal!='' then 1
ELSE 0
end
FROM business WHERE bussId=businessTable.bussId
)
where 1
,但我得到这个错误: 你不能指定表业务更新
如何解决这一问题?
回答:
没有必要从更新表中单独选择。试试这个(未经测试):
UPDATE business SET business_data_count = (deal != '')
+ (SELECT COUNT(*)
FROM gallery
WHERE bussId = business.bussId);
在一个单独的说明,这是一般不好的做法来存储可以用查询中轻松地提取数据,如上述。
回答:
我认为你有一个错字。 我想你应该有:
UPDATE `business`.businessTable SET
,而不是
UPDATE `business` businessTable SET
如果您在查询中定义的表时使用的模式,你需要将它们用点分隔()。
也许这不是唯一的问题,但这是第一个想到的。
以上是 如何使用select更新查询? MySQL的 的全部内容, 来源链接: utcz.com/qa/264209.html