2015-03-13 195 views
0

我是新來的查詢和我需要幫助編寫查詢。需要重寫sql查詢

我想選擇

Project_Post.ProjectPost 
from Project_Post 
Where Project_Post.ProfileId = (User_profile.ProfileID Where User_profile.UserId = @username) 
And Project_Post.Project date is less than Project_Follower.LastPageView 
Where Project_Follower.profileId = (User_profile.ProfileID Where User_profile.UserId = @username) 

謝謝。

+0

這是非常難閱讀你的「查詢」。請格式正確! – jarlh 2015-03-13 08:34:16

+0

@jarlh它不是查詢,它只是我想要檢索的解釋謝謝。 – Jack 2015-03-13 08:35:36

+0

我明白了,但仍然有點難以閱讀......給我們表格定義,樣本數據和想要的結果! – jarlh 2015-03-13 08:39:40

回答

0

應該是這樣的:

SELECT col1, col2 -- specify what you need 
FROM Project_Post pp 
INNER JOIN User_profile up ON up.ProfileId = pp.ProfileId 
INNER JOIN Project_Follower pf ON pf.profileId = up.ProfileID 
WHERE 
pp.Project_date < pf.LastPageView AND 
pp.ProfileId = (
        SELECT ProfileID 
        FROM User_profile 
        WHERE UserId = @username 
       ) AND 
pf.profileId = (
        SELECT ProfileID 
        FROM User_profile 
        WHERE UserId = @username 
       ) 
0

這將是更好,如果你給我們表的結構,而是取決於你的查詢,這是這樣的:

SELECT pp.ProjectPost 
FROM Project_Post AS pp WITH(NOLOCK) 
    INNER JOIN User_Profile AS up WITH(NOLOCK) ON pp.ProfileID = up.ProfileID 
    INNER JOIN Project_Follower AS pf WITH(NOLOCK) ON pp.ProfileID = pf.ProfileID 
WHERE up.Username = @Username 
    AND pp.Project_Date < pf.LastPageView