我试图用另一个表的计数更新表。我认为我的查询结构正确,但我一直收到SQL错误:
UPDATE c
SET c.sales = p.ProductCount
FROM products c
INNER JOIN
(SELECT p_key, COUNT(*) AS ProductCount
FROM sales
GROUP BY p_key) p
ON c.link = p.p_key
两个表的结构:
产品 product_name(varchar), 销售(int), link(char),
销售 电子邮件(char), p_key(char)
我刚刚展示了关键栏目。任何帮助表示赞赏。
答案 0 :(得分:16)
您正在使用T_SQL
的加入语法,MySQL
执行此操作,
UPDATE products c
INNER JOIN
(
SELECT p_key,
COUNT(*) AS ProductCount
FROM sales
GROUP BY p_key
) p
ON c.link = p.p_key
SET c.sales = p.ProductCount
答案 1 :(得分:5)
这是正确的语法:
UPDATE products c
INNER JOIN
(
SELECT p_key, COUNT(*) AS ProductCount
FROM sales
GROUP BY p_key
) p ON c.link = p.p_key
SET c.sales = p.ProductCount