我在PostgreSQL中一列的每一行中显示相同的值

eulz3vhy  于 2023-01-25  发布在  PostgreSQL
关注(0)|答案(1)|浏览(152)

为什么它为length_of_stay提供了相同的值?(这是第一行的值)
这是密码:

select price_total, check_in_date, check_out_date,
price_total / length_of_stay as price_per_day, length_of_stay
from
(select check_out_date - check_in_date as length_of_stay
from bookings b)as table1, bookings b2;

以下是输出:
| 价格_总计|登记日期| checkout 日期|每日价格|住院时间|
| - ------|- ------|- ------|- ------|- ------|
| 小行星1428.30|2018年8月30日|2018年9月3日|357.075亿美元|四个|
| 二百六十九点三七分|2020年2月11日|2020年2月14日|67.3425亿美元|四个|
| 一百一十一点九三分|二〇二〇年十二月二十八日|二〇二〇年十二月二十九日|27.9825亿美元|四个|
| 小行星1131.13|2020年2月26日|2020年2月29日|282.7825亿美元|四个|
| 三百九十一点八零|2020年6月11日|2020年6月12日|九十五亿|四个|
| 三百三十六元|2020年6月11日|2020年6月12日|84亿美元|四个|
| 二九三点八二|2020年2月16日|2020年2月18日|73.455亿美元|四个|
| 小行星2236.92|2018年9月24日|2018年9月27日|559.23亿美元|四个|

5sxhfpxr

5sxhfpxr1#

因为您正在执行join,所以只需重复length_of_stay逻辑两次就可以了。

select price_total, 
       check_in_date,
       check_out_date,
       price_total / (check_out_date - check_in_date ) as price_per_day, 
       check_out_date - check_in_date as length_of_stay
from bookings;

相关问题