api.stay_view
Description
Stay web view
Table Definition
CREATE VIEW stay_view AS (
SELECT s.id,
s.name,
m.name AS moorage,
m.id AS moorage_id,
(s.departed - s.arrived) AS duration,
sa.description AS stayed_at,
sa.stay_code AS stayed_at_id,
s.arrived,
_from.id AS arrived_log_id,
_from._to_moorage_id AS arrived_from_moorage_id,
_from._to AS arrived_from_moorage_name,
s.departed,
_to.id AS departed_log_id,
_to._from_moorage_id AS departed_to_moorage_id,
_to._from AS departed_to_moorage_name,
s.notes,
CASE
WHEN (jsonb_array_length((s.user_data -> 'images'::text)) > 0) THEN true
ELSE false
END AS has_images,
(s.user_data -> 'images'::text) AS images
FROM ((((api.stays s
JOIN api.stays_at sa ON ((s.stay_code = sa.stay_code)))
JOIN api.moorages m ON ((s.moorage_id = m.id)))
LEFT JOIN api.logbook _from ON ((_from._from_time = s.departed)))
LEFT JOIN api.logbook _to ON ((_to._to_time = s.arrived)))
WHERE ((s.departed IS NOT NULL) AND (_from._to_moorage_id IS NOT NULL) AND (s.name IS NOT NULL))
ORDER BY s.arrived DESC
)
Columns
| Name | Type | Default | Nullable |
|---|---|---|---|
| arrived | timestamp with time zone | true | |
| arrived_from_moorage_id | integer | true | |
| arrived_from_moorage_name | text | true | |
| arrived_log_id | integer | true | |
| departed | timestamp with time zone | true | |
| departed_log_id | integer | true | |
| departed_to_moorage_id | integer | true | |
| departed_to_moorage_name | text | true | |
| duration | interval | true | |
| has_images | boolean | true | |
| id | integer | true | |
| images | jsonb | true | |
| moorage | text | true | |
| moorage_id | integer | true | |
| name | text | true | |
| notes | text | true | |
| stayed_at | text | true | |
| stayed_at_id | integer | true |
Referenced Tables
| Name | Columns | Comment | Type |
|---|---|---|---|
| api.stays | 14 | Stores generated stays | BASE TABLE |
| api.stays_at | 2 | Stay Type | BASE TABLE |
| api.moorages | 13 | Stores generated moorages | BASE TABLE |
| api.logbook | 42 | Stores generated logbook | BASE TABLE |
Relations
erDiagram
"api.stay_view" {
timestamp_with_time_zone arrived ""
integer arrived_from_moorage_id ""
text arrived_from_moorage_name ""
integer arrived_log_id ""
timestamp_with_time_zone departed ""
integer departed_log_id ""
integer departed_to_moorage_id ""
text departed_to_moorage_name ""
interval duration ""
boolean has_images ""
integer id ""
jsonb images ""
text moorage ""
integer moorage_id ""
text name ""
text notes ""
text stayed_at ""
integer stayed_at_id ""
}
Generated by tbls