Re: [SQL ] 资料表内不同条件之相同字段相减

楼主: hhomerun (HOMERUN家族弟弟)   2014-04-17 19:50:20
: 目标Table_1 (列出5962所有Product)
: -
: Week ProductID Area DataDiff
: 5962 B K -20(=13-33)
: 5962 C K 16(=28-12)
: 5962 D K NA
: 5962 E K NA
: 目标Table_2 (列出只列出两周共有的Product)
: -
: Week ProductID Area DataDiff
: 5962 B K -20(=13-33)
: 5962 C K 16(=28-12)
SELECT S.[week]
,S.[p_id]
,S.[area]
,S.[data]
,T.[p_id] [Tp_id]
,T.[area] [Tarea]
,T.[data] [Tdata]
,S.[data]-T.[data]
FROM (SELECT *
FROM [test].[dbo].[Table] )AS S
JOIN (SELECT [week]+1 [week]
,[p_id]
,[area]
,[data]
FROM [test].[dbo].[Table]) AS T
ON S.[week]=T.[week] AND S.[p_id]=T.[p_id] AND S.[area]=T.[area]
这是SQL server的语法
这样会有你要的第二个结果
如果你要第一个结果
就把JOIN 改成 LEFT JOIN 然后最下面 加个WHERE [week]=5962
希望鲁蛇的答案对你有帮助QQ
作者: leo0650 (吕奕)   2014-04-17 21:27:00
感谢回复!新手有点看不太懂QQ主要是要在Access建立SQL查询[test].[dbo]是否可以拿掉? 晚点试试看~ 谢谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com