2017-02-16 81 views

回答

0

在用户表中包含一个标志列以指示用户的状态,然后在此基础上构建视图,运行您的实际查询。也许是这样的:

create table users (
    .... 
    is_active boolean not null 
); 

create view active_users as 
select * from users where is_active = true; 

create view inactive_users as 
select * from users where is_active = false; 

如果您需要更多的状态值,那么有可能的状态一个单独的表与它之间和users表的外键关系。

+0

我正在考虑有两个表:用户表:用户ID ...订阅表:子标识,用户标识,状态(活动或不活动),然后在用户ID – artis898

+0

@ artis898上一起加入它们:所以在1:1之间存在一对一的关系订阅和用户?如果这些是预订表中的唯一列,则最好将用户表中的状态列保留并节省连接的成本。 –

+0

是的,那是我的第一本能,但后来我对数据库很陌生。基本上情况是:用户可以是活动的或不活动的。并且我想要运行的查询是:列出属于所有活动用户的图书的名称。 – artis898