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:比较同一张表中人的工资,并显示两个名
基础教程推荐
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 在多列上分布任意行 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
