0
我还是SQL Server的新手,我需要帮助解决这个问题。SQL Server查找行之间的差异
我需要制作一个像这样的输出:
PNRFNAME | PNRFNAME | Salary_Difference
---------+----------+------------------
Jason | Vicki | 483778.43
Jason | Tiff | -34540999.72
Vicki | Tiff | -35024778.15
,我目前已经充满了这个数据表:
PresenterID | PnrLName | PnrFName | age | years | Salary_Yearly
------------+------------------+----------+-----+-------+--------------
EMP_01 | NEEDELL | Tiff | 61 | 10 | 37451000.70
EMP_02 | BUTLER-HENDERSON | Vicki | 41 | 10 | 2426222.55
EMP_03 | PLATO | Jason | 45 | 8 | 2910000.98
的代码,我到目前为止有:
SELECT
a.Pnr_FName, b.Pnr_FName,
CONCAT((a.Salary_Yearly - b.Salary_Yearly), (a.Salary_Yearly - a.Salary_Yearly)) AS Salary_Difference
FROM
PRESENTERS b
CROSS JOIN
PRESENTERS a
希望这是有道理的!我试图让我的问题明确
如果您想要将值与前一行或后一行进行比较,则需要研究LEAD和LAG如果您有SQL 2012 – scsimon
[SQL Server的可能重复:比较同一表中的人员薪水并显示两个名称](http://stackoverflow.com/questions/39129803/sql-server-compare-salary-of-people-in-the-same-table-and-display-both-names) –