Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

api.moorages_view

Description

Moorages listing web view

Table Definition
CREATE VIEW moorages_view AS (
 SELECT m.id,
    m.name AS moorage,
    sa.description AS default_stay,
    sa.stay_code AS default_stay_id,
    COALESCE(count(DISTINCT l.id), (0)::bigint) AS arrivals_departures,
    COALESCE(sum(DISTINCT s.duration), 'PT0S'::interval) AS total_duration
   FROM (((api.moorages m
     JOIN api.stays_at sa ON ((m.stay_code = sa.stay_code)))
     LEFT JOIN api.stays s ON (((m.id = s.moorage_id) AND (s.active = false))))
     LEFT JOIN api.logbook l ON (((m.id = l._from_moorage_id) OR ((m.id = l._to_moorage_id) AND (l.active = false)))))
  WHERE ((m.geog IS NOT NULL) AND (m.stay_code = sa.stay_code))
  GROUP BY m.id, m.name, sa.description, sa.stay_code
  ORDER BY COALESCE(sum(DISTINCT s.duration), 'PT0S'::interval) DESC
)

Columns

NameTypeDefaultNullable
arrivals_departuresbiginttrue
default_staytexttrue
default_stay_idintegertrue
idintegertrue
mooragetexttrue
total_durationintervaltrue

Referenced Tables

NameColumnsCommentType
api.moorages13Stores generated mooragesBASE TABLE
api.stays_at2Stay TypeBASE TABLE
api.stays14Stores generated staysBASE TABLE
api.logbook42Stores generated logbookBASE TABLE

Relations

erDiagram


"api.moorages_view" {
  bigint arrivals_departures ""
  text default_stay ""
  integer default_stay_id ""
  integer id ""
  text moorage ""
  interval total_duration ""
}

Generated by tbls