4

テーブルを別のテーブルのカウントで更新しようとしています。クエリの構造は正しいと思いますが、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

2 つのテーブルの構造:

製品 product_name (varchar)、sales (int)、link (char)、

営業 メール (char)、p_key (char)

重要な列を示しました。どんな助けでも感謝します。

4

2 に答える 2

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
于 2012-10-07T14:39:24.620 に答える
6

正しい構文は次のとおりです。

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
于 2012-10-07T14:38:33.793 に答える