Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
172 views
in Technique[技术] by (71.8m points)

sql - Consult the same table with filter value over partition

How can i get this result. My original table:

   Date     | Enterprise | Indicator |   Value
2020-01-01  |     1      |     1     |    12.50
2020-01-01  |     1      |     2     |  3000.00
2020-01-01  |     1      |     3     |   100.00
2020-01-02  |     2      |     1     |    13.20
2020-01-02  |     2      |     2     |  1300.03
2020-01-02  |     2      |     3     |   140.00
2020-01-03  |     3      |     1     |    13.50
2020-01-03  |     3      |     2     |  2300.00
2020-01-03  |     3      |     3     |   200.00

I need to expanse the value of indicator 2 for the rest indicators respecting the date and enterprise

   Date     | Enterprise | Indicator |   Value   |  Result
2020-01-01  |     1      |     1     |    12.50  |  3000.00
2020-01-01  |     1      |     2     |  3000.00  |  3000.00
2020-01-01  |     1      |     3     |   100.00  |  3000.00
2020-01-02  |     2      |     1     |    13.20  |  1300.00
2020-01-02  |     2      |     2     |  1300.00  |  1300.00
2020-01-02  |     2      |     3     |   140.00  |  1300.00
2020-01-03  |     3      |     1     |    13.50  |  2300.00
2020-01-03  |     3      |     2     |  2300.00  |  2300.00
2020-01-03  |     3      |     3     |   200.00  |  2300.00

Greetings Comunity.

question from:https://stackoverflow.com/questions/65598960/consult-the-same-table-with-filter-value-over-partition

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I need to expanse the value of indicator 2 for the rest indicators respecting the date and enterprise

You can use the analytical function partition by date and enterprise as follows:

select t.*,
       max(case when indicator = 2 then value end) over (partition by date, enterprise) as Result
from your_table t;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...