У меня есть 3 таблицы: DISPO, ARTICLE & GCLIGNARTDIM
DISPO & ARTICLE linked by : DISPO.GQ_ARTICLE = ARTICLE.GA_ARTICLE
ARTICLE & GCLIGNARTDIM linked by : ARTICLE.GA_CODEARTICLE = GCLIGNARTDIM.GL_CODEARTICLE
Я хочу отобразить запас каждой статьи из DISPO и Продажи этой продукции из GCLIGNARTDIM.Поэтому я использую подзапрос [Продажи], чтобы принести продажи за предыдущие 6 месяцев.
SELECT GA_CODEARTICLE AS 'CODE ARTICLE',
CC2.CC_LIBELLE,
SUM(CASE WHEN (GQ_DEPOT='001') THEN (GQ_PHYSIQUE) else 0 END) AS 'STOCK DEPOT',
SUM(CASE WHEN (GQ_DEPOT='002') THEN (GQ_PHYSIQUE) else 0 END) AS 'STOCK STORE',
[SALES] =
(SELECT
SUM(GL_QTEFACT)AS 'QTE VENDUS'
FROM GCLIGNEARTDIM
LEFT OUTER JOIN PARPIECE GPP1 ON GL_NATUREPIECEG=GPP1.GPP_NATUREPIECEG AND GPP1.GPP_MASQUERNATURE<>'X'
LEFT OUTER JOIN CHOIXCOD CC2 ON GL_FAMILLENIV1=CC2.CC_CODE AND CC2.CC_TYPE='FN1'
WHERE
DATEADD(M, 6, GP_DATEPIECE) > getdate()
AND CC2.CC_LIBELLE <> 'MARKETING' AND GA_CODEARTICLE NOT LIKE 'T%' AND CC2.CC_LIBELLE <> 'ATELIER DE BEAUTé'
GROUP BY GL_CODEARTICLE
)
FROM DISPO
LEFT JOIN ARTICLE B ON GA_ARTICLE=GQ_ARTICLE
LEFT OUTER JOIN DEPOTS GDE1 ON GQ_DEPOT=GDE1.GDE_DEPOT
LEFT OUTER JOIN CHOIXCOD CC2 ON GA_FAMILLENIV1=CC2.CC_CODE AND CC2.CC_TYPE='FN1'
LEFT OUTER JOIN CHOIXCOD CC4 ON GA_FAMILLENIV2=CC4.CC_CODE AND CC4.CC_TYPE='FN2'
WHERE (
(GQ_DEPOT IN ('001','002') AND CC2.CC_LIBELLE is not null and CC2.CC_LIBELLE <> 'MARKETING' AND GA_CODEARTICLE NOT LIKE 'T%' AND CC2.CC_LIBELLE <> 'ATELIER DE BEAUTé'
))
GROUP BY GA_CODEARTICLE,GA_CODEBARRE, CC2.CC_LIBELLE,CC4.CC_LIBELLE
ORDER BY [CODE ARTICLE]
Я получаю сообщение об ошибке:
Подзапрос возвратил более 1 значения.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.