2015-04-28 30 views
-1

我有一個表,看起來像這樣:如何爲以下方案構建SQL查詢?

Name Post  Like Share Comment Date 
-------------------------------------------- 
Sita test data 1 5 2 4 28/4/2015 
Munni test data 2 5 2 5 27/4/2015 
Shila test data 3 1 3 1 22/4/2015 
Ram  Test data 4 5 0 5 1/4/2015 
Sam  Test data 5 4 0 2 2/4/2015 
Jadu Test data 6 1 5 2 30/3/2015 
Madhu Test data 7 5 0 4 10/4/2015 

現在我想我的結果集是這樣的:

Type   Name  Post  Like Share Comment Date 
------------------------------------------------------------------------- 
Today   Sita test data 1 5 2 4  28/4/2015 
Last 7 Days  Sita test data 1 5 2 4  28/4/2015 
Last 7 Days  Munni test data 2 5 2 5  27/4/2015 
Last 7 Days  Shila test data 3 1 3 1  22/4/2015 
Last 30 Days Sita test data 1 5 2 4  28/4/2015 
Last 30 Days Munni test data 2 5 2 5  27/4/2015 
Last 30 Days Shila test data 3 1 3 1  22/4/2015 
Last 30 Days Ram  Test data 4 5 0 5  1/4/2015 
Last 30 Days Sam  Test data 5 4 0 2  2/4/2015 
Last 30 Days Jadu Test data 6 1 5 2  30/3/2015 
Last 30 Days Madhu Test data 7 5 0 4  10/4/2015 

今天只能有今天的文章。過去7天內必須有今天的帖子+過去7天的帖子。過去30天的專欄必須包含過去30天的所有信息。

+1

看看使用'union all'和'where where子句... – sgeddes

+0

可以請你給整個查詢嗎?請給我 – xyz

回答

0

有幾個工會與不同的案件陳述來獲得日期範圍將工作。

+0

如果你給我整個查詢,我會非常感謝你。請... – xyz

+0

我使用這下面的查詢追蹤日期.... 選擇 tblWatchList.UserName, tblPost.Post, tblPost.Time FROM tblPost INNER JOIN tblProfile ON(tblProfile.ID = tblPost .UID) INNER JOIN tblWatchList ON(tblWatchList.ID = tblProfile.UID) WHERE dbo.tblPost.Time BETWEEN(SELECT CONVERT(VARCHAR(10),DATEADD(DD,DATEDIFF(DD,0,GETDATE()), - 44),120)) AND GETDATE() ORDER BY FBDB.dbo.tblPost.Time ASC – xyz

0

使用union alldateadd

select 'Today' as Type, Name, Post, [Like], Share, Comment, [Date] 
from yourtable 
where [Date] = getdate() 
union all 
select 'Last 7 Days' as Type, Name, Post, [Like], Share, Comment, [Date] 
from yourtable 
where [Date] >= DateAdd(day,-7,getdate()) 
union all 
select 'Last 30 Days' as Type, Name, Post, [Like], Share, Comment, [Date] 
from yourtable 
where [Date] >= DateAdd(day,-30,getdate()) 

BTW,對列名可怕的選擇(不使用保留字)。

+0

....它只是一個示例表結構。無論如何非常感謝答案 – xyz