回答

收藏

丢弃结果中包含的现有日期,SQL Server

技术问答 技术问答 205 人阅读 | 0 人回复 | 2023-09-12

在我的数据库中,我有一个Reservation表,它有三列Initial Day,Last Day 和House Id。5 a2 S3 W* j! u
我想计算总天数,而忽略重复的天数,例如:
& k: y* r0 G2 O. V9 ]1 e# R+-------------+------------+------------+
; g- q4 T- V/ E% @5 ]5 h|             | Results    |            |
( M& g* v7 U9 {  Q+-------------+------------+------------+% i- K$ W# }8 u. h1 Y6 S$ q
|   House Id  | InitialDay |  LastDay   |
" C/ v& P) X) A2 Y+-------------+------------+------------+. k" q$ W* E1 w# k: _
|  1          | 2017-09-18 | 2017-09-20 |
1 i# t" a6 [' x5 e/ U; X: y|  1          | 2017-09-18 | 2017-09-22 |$ J3 H4 u$ B- C0 J
| 19          | 2017-09-18 | 2017-09-22 |' H& c( d6 p0 d
| 20          | 2017-09-18 | 2017-09-22 |( E- X9 G; ^% E9 G
+-------------+------------+------------+
& S" q; K; J4 I4 j& q如果您发现House
( |; U3 K4 [5 M+ ^2 Y3 lId编号为1的包含两行,并且每一行都有日期,但是第一行在第二行的日期间隔中。总的天数应该为5,因为不应将第一天计算在内,因为第二天已经存在这些天数。- c4 k4 s9 S% p- ?. [; v
发生这种情况的原因是,每个房屋都有两个房间,不同的人可以在同一日期住进该房屋。
- A3 S! L' ^( {我的问题是:我该如何忽略这些情况,而仅计算房屋被占用的真实日期?/ M- B! V, T' h# p* Z
                , U3 O, B9 C1 B' f* e) E
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则