Re: [SQL ] 資料表內不同條件之相同欄位相減
: 目標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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.209.88
※ 文章網址: http://www.ptt.cc/bbs/Database/M.1397735427.A.03D.html
※ 編輯: hhomerun (111.248.209.88), 04/17/2014 19:51:20
推
04/17 21:27, , 1F
04/17 21:27, 1F
→
04/17 21:28, , 2F
04/17 21:28, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):