【发布时间】:2019-08-07 05:27:54
【问题描述】:
我有以下表格用于管理哪个配置文件已用于什么服务。
个人资料表
CREATE TABLE public.profile
(
id integer NOT NULL DEFAULT nextval('profile_id_seq'::regclass),
name text COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT profile_id PRIMARY KEY (id)
)
服务表
CREATE TABLE public.service
(
id integer NOT NULL DEFAULT nextval('service_id_seq'::regclass),
name text COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT service_id PRIMARY KEY (id)
)
用过的表
CREATE TABLE public.used
(
id integer NOT NULL DEFAULT nextval('used_id_seq'::regclass),
service_id bigint NOT NULL,
profile_id bigint NOT NULL,
insert_timestamp timestamp with time zone NOT NULL DEFAULT now(),
CONSTRAINT used_id PRIMARY KEY (id),
CONSTRAINT used_profile_id_fkey FOREIGN KEY (profile_id)
REFERENCES public.profile (id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT used_service_id_fkey FOREIGN KEY (service_id)
REFERENCES public.service (id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE
)
我正在尝试创建一个 SQL 查询,该查询将计算 profile_id 不在特定服务的 used 表中的配置文件总数。假设我们的服务名为“gym”,我如何计算不在已使用表中的服务名称为“gym”的配置文件的数量?
【问题讨论】:
-
您是否尝试过编写查询?
标签: sql postgresql