2013-04-18 1 views
0

Вот мой существующий SQL заявление:SQL: Как использовать DATEDIFF + ORDER BY с INNER JOIN

SELECT TOP 10 Users.FirstName + ' ' + Users.LastName AS Name, 
       Feeds.LogType, 
       Feeds.LogDesc, 
       Feeds.Timestamp = DATEDIFF(MINUTE, Feeds.Timestamp, CURRENT_TIMESTAMP) 
FROM Feeds 
INNER JOIN Users ON Feeds.UserID = Users.UserID 
ORDER BY Feeds.Timestamp DESC 

У меня возникли ошибки на 2-й линии, Incorrect syntax near '='.

Любые идеи, как это исправить?

ответ

3

Попробуйте

SELECT TOP 10 Users.FirstName + ' ' + Users.LastName AS NAME 
    ,Feeds.LogType 
    ,Feeds.LogDesc 
    ,DATEDIFF(MINUTE, Feeds.TIMESTAMP, CURRENT_TIMESTAMP) 
FROM Feeds 
INNER JOIN Users ON Feeds.UserID = Users.UserID 
ORDER BY DATEDIFF(MINUTE, Feeds.TIMESTAMP, CURRENT_TIMESTAMP) DESC 
1

Feeds.Timestamp = DATEDIFF (МИНУТЫ, Feeds.Timestamp, CURRENT_TIMESTAMP) должен быть

DATEDIFF(MINUTE, Feeds.Timestamp, CURRENT_TIMESTAMP) AS Timestamp 
1

Вместо = попытаться имя псевдонима, как,

SELECT TOP 10 Users.FirstName + ' ' + Users.LastName AS Name, Feeds.LogType, 
    Feeds.LogDesc, 
    DATEDIFF(MINUTE, Feeds.Timestamp, CURRENT_TIMESTAMP) [Timestamp] 
FROM Feeds INNER JOIN Users ON Feeds.UserID = Users.UserID 
ORDER BY Feeds.Timestamp DESC 
+0

При публикации кода используйте кнопку '{}' и используйте предварительный просмотр, чтобы убедиться, что то, что вы публикуете, является читаемым. –

1

Вы можете использовать псевдоним способом «alias = value», но вы не должны указывать имя таблицы, поэтому

Timestamp = DATEDIFF(MINUTE, Feeds.Timestamp, CURRENT_TIMESTAMP)