gpt4 book ai didi

更新查询中的MySQL子查询选择语句

转载 作者:可可西里 更新时间:2023-11-01 07:45:31 24 4
gpt4 key购买 nike

我有 2 个表:tbl_taxclasses、tbl_taxclasses_regions

这是一个一对多的关系,其中主记录ID是classid。我在第一个表中有一列名为 regionscount

因此,我在表 1 中创建了一个税级。然后我在表 2 中添加了地区/州,为每个地区分配了 classid。

我执行一个 SELECT 语句来计算具有相同 classid 的区域,然后我使用该编号对 tbl_taxclasses 执行一个 UPDATE 语句。我更新了 regionscount 列。

这意味着我正在编写 2 个查询。这很好,但我想知道是否有办法在 UPDATE 语句中执行 SELECT 语句,如下所示:

UPDATE `tbl_taxclasses` SET `regionscount` = [SELECT COUNT(regionsid) FROM `tbl_taxclasses_regions` WHERE classid = 1] WHERE classid = 1

我到这里了,因为我不确定 MySQL 有多健壮,但我确实拥有截至今天的最新版本。 (5.5.15)

最佳答案

您可以使用非相关子查询为您完成这项工作:

UPDATE 
tbl_taxclasses c
INNER JOIN (
SELECT
COUNT(regionsid) AS n
FROM
tbl_taxclasses_regions
GROUP BY
classid
) r USING(classid)
SET
c.regionscount = r.n
WHERE
c.classid = 1

关于更新查询中的MySQL子查询选择语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com