SQL和联接问题

SQL和联接问题,sql,join,sum,Sql,Join,Sum,我再次向您寻求进一步的帮助:我已经能够连接两个查询,生成具有不同值的重复列,但是我仍然面临着一个整体的查询,它会为每种尺寸生成许多结果,文字和技术比例为1:1。我如何才能生成一个只为每种尺寸显示一次每种材质的查询?提前感谢并感谢您的所有帮助: SELECT * FROM (SELECT P.PLANT_CODE, P.STOCK_CATEGORY, P.MATERIAL, P.D

我再次向您寻求进一步的帮助:我已经能够连接两个查询,生成具有不同值的重复列,但是我仍然面临着一个整体的查询,它会为每种尺寸生成许多结果,文字和技术比例为1:1。我如何才能生成一个只为每种尺寸显示一次每种材质的查询?提前感谢并感谢您的所有帮助:

SELECT * 
FROM


(SELECT         P.PLANT_CODE,
                P.STOCK_CATEGORY,
                P.MATERIAL,
                P.DISTRIBUTION_VERSION_CODE,
                P.PERIOD_CODE,
                P.REQUIREMENTS_DATE,
                P.PLANNED_QTY AS 'REM PLAN QTY',
                P.VERSION_IND_FLAG,
                P.SIZE_LITERAL,
                P.WITHDRAWN_QUANTITY,
                P.TECHNICAL_INDEX,
                P.PLANNED_QTY + P.WITHDRAWN_QUANTITY AS 'ORIGINAL FCST QTY'
 FROM           VW_PLANNED_REQMNTS_TXT P
 WHERE          P.PLANT_CODE IN ('6040','6041')
 AND            P.STOCK_CATEGORY IN ('A60385000','A60385003')
 AND            P.DISTRIBUTION_VERSION_CODE IN ('00','01','ZU','Z2')
 AND            P.REQUIREMENTS_DATE < GETDATE() - 59
 AND            P.PLANNED_QTY > 0) AS P1

 JOIN      

 (SELECT
                SUM(P.PLANNED_QTY) AS 'FUTURE_FCST',
                P.MATERIAL,
                P.TECHNICAL_INDEX,
                P.SIZE_LITERAL
 FROM           VW_PLANNED_REQMNTS_TXT P
 WHERE          P.REQUIREMENTS_DATE > GETDATE()
 AND            P.PLANNED_QTY > 0
 GROUP BY       P.PLANNED_QTY,
                P.MATERIAL,
                P.TECHNICAL_INDEX,
                P.SIZE_LITERAL) AS P2

 ON             P1.MATERIAL = P2.MATERIAL
 AND            P1.TECHNICAL_INDEX = P2.TECHNICAL_INDEX`

 ORDER BY       P1.MATERIAL,
                P1.TECHNICAL_INDEX;

我想我可能已经解决了这个问题-似乎我不需要在GROUP BY子句中包含P.PLANNED_QTY,因为它是一个聚合函数。到目前为止看起来还不错,但如果你们发现任何可疑的地方,请告诉我。哦,还有一个问题-我有GETDATE-59,但我正在重建的Access查询有一个奇怪的函数,我从未见过您在运行报告的一周中输入一个数字…SQL Server中有类似的东西吗?没有,你不需要团队中的计划数量,因为这几乎肯定会导致结果不正确;您可能不需要在WHERE子句中引用它,因为它不会影响总和。。。。我还将非聚合查询提升一个级别,您不需要在这里执行子查询。您的RDBMS供应商/版本是什么?我们能得到样本源数据和期望的结果吗?可以使用更好的方法,例如使用OVER子句…使用SQLServerManagementStudio 2012。您必须原谅我,我不确定上传数据的最佳方式是什么?从技术上讲,SQL Server Management Studio 2012不是您的数据库,而是一个与之交互的工具,尽管这意味着您的数据库是SQL Server 2012。示例数据通常只是作为一个格式化的表格发布。查看一些示例的其他问题,通常只包含“必需”列,即,删除仅在SELECT子句中引用的大多数列。你对未来的总预测进行了汇总,但只是与有限的历史数据集进行比较,为什么?这似乎有点奇怪。。。