SELECT
a.city,
a.staff_name,
(
CASE
WHEN a.basic_pay > b.top_pensions_insurance THEN
b.top_pensions_insurance * b.company_pensions_insurance_pay
WHEN a.basic_pay < b.top_pensions_insurance THEN CASE WHEN a.basic_pay > a.current_pensions THEN
a.basic_pay * b.company_pensions_insurance_pay
WHEN a.basic_pay < a.current_pensions THEN
a.current_pensions * b.company_pensions_insurance_pay
END
END
) AS company_pensions
FROM
social_security_detail a
LEFT JOIN social_security_contrib_ratio b ON a.city = b.city;
Postgresql的CASE语法嵌套
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一、背景 postgreSQL命令的词法分析和语法分析是由Unix工具Yacc和Lex制作的。使用的是 Bison...
- 作者:Erica Sadun,原文链接,原文日期:2016-03-15译者:walkingway;校对:Cee;定...
- 在写sql语句时,遇到比较复杂的sql可能经常会用到CASE WHEN判断,CASE WHEN的基本语法在此不再赘...