と私はサブクエリが1つの以上の値を返し、次のエラーSQL UPDATEステートメントは、集計数
を取得しています。 サブクエリが、=、!<、< =、>、> =、またはサブクエリが式 として使用されている場合は、これは許可されません。このクエリの
:
UPDATE b
SET b.Products = (SELECT COUNT(pf.Product_Family_ID)
FROM Product_Families pf
INNER JOIN Products p ON pf.Product_Family_ID = p.Product_Family_ID
INNER JOIN Brands b2 on pf.BrandID = b2.Brand_ID
WHERE
pf.Discontinued = 0
AND pf.Live = 0
AND p.Inventory > 0
AND pf.Brand <> ''
GROUP BY
b2.Brand, b2.Brand_ID)
FROM Brands b
INNER JOIN Product_Families pf2 ON b.Brand_ID = pf2.BrandID
WHERE
b.Brand_ID = pf2.BrandID
私はほんの少し何かが欠けています知っています。助けてくれてありがとう。
ここでサブクエリを見てください。これは、すべてのブランドBrand_IDの数を返していますが、更新の値として使用しようとしています。 –
Seanが言った通り。サブクエリを単独で実行すると、複数のレコードが返されますが、* one *フィールドを設定しようとしています。また、あなたの 'INNER JOIN'は既に' b.Brand_ID = pf2.BrandID'の場合のみに結果セットを限定するべきであるため、あなたの最終的な 'WHERE'が目的を果たしているとは思いません。 – Santi
ここから始めましょう。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –