2017-02-16 58 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