2015-03-13 2 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

+0

@jarlh это не запрос, а просто объяснение того, что я хочу получить. – Jack

+0

Я понимаю, но все еще немного трудно читать ... Дайте нам определения таблиц, образцы данных и желаемый результат! – jarlh

ответ

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