2016-07-24 67 views
0

我的問題是我有像這樣保存數據的數據庫。例如,你發佈了一些內容,但是有一些類型的帖子。另外一個是每週帖子,另一個是每日帖子。在我的數據庫中,我有專欄告訴我是每週還是每日發佈。SQL選擇具有一個不同真值的兩行

id | senderID | message | weekly | daily 
1  5  "hello"  1  0 
2  5  "Fun joke" 0  1 

那麼我是如何選擇那些兩行一列顯示是否已經做了每日和每週的消息,該行應該是這樣的

senderID | message | weekly | daily 
    5  "hello"  1  1 

但如果發送者還沒有完成日常消息時,它顯示

senderID | message | weekly | daily 
    5  "hello"  1  0 

回答

1

試試這個:

select 
    senderid, 
    case when sum(weekly) > 0 then 1 else 0 end [weekly], 
    case when sum(daily) > 0 then 1 else 0 end [daily] 
from TABLENAME 
group by senderid 

用實際表名替換TABLENAME :)