SQL Server: compare salary of people in the same table, and display both names, with the difference(SQL Server:比较同一张表中人的工资,并显示两个名字,有差异)
问题描述
我有下表:
对于演示者
并希望获得如下输出:
示例
我尝试进行内部联接,但觉得有点困惑,因为我对 SQL 还很陌生
I tried doing an inner join, but think got a bit confused as I'm still rather new with SQL
我必须显示同一个表中的 2 个名字,但不确定在哪里放置工资比较,
I got to display 2 names from the same table, but unsure where to place the comparison of the salary,
这是我尝试过的代码:
select
t1.PNRFNAME, t2.PNRFNAME, t1.SALARY_YEARLY
from
PRESENTERS t1
inner join
PRESENTERS t2 on t1.PRESENTER_ID = t2.PRESENTER_ID
order by
t1.SALARY_YEARLY DESC
推荐答案
只需添加一个名为 Salary_Diff 的列:
Just add a column called Salary_Diff:
select t1.PNRFNAME,t2.PNRFNAME, t1.SALARY_YEARLY,
t1.SALARY_YEARLY - t2.SALARY_YEARLY AS Salary_Diff
from PRESENTERS t1
cross join PRESENTERS t2
where t1.presenterid <> t2.presenterid
ORDER BY t1.SALARY_YEARLY DESC
这篇关于SQL Server:比较同一张表中人的工资,并显示两个名字,有差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:SQL Server:比较同一张表中人的工资,并显示两个名


基础教程推荐
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01