Конвертировать SQL-запрос - PullRequest
0 голосов
/ 26 апреля 2010

Я использовал этот запрос в sql, просьба преобразовать этот запрос для использования для доступа к базе данных.

Структура таблицы: ИД пользователя, Имя пользователя, LogDate, LogTime

WITH  
    [TableWithRowId] as 
    (SELECT ROW_NUMBER() OVER(ORDER BY UserId,LogDate,LogTime) RowId, * FROM @YourTable), 
    [OddRows] as  
    (SELECT * FROM [TableWithRowId] WHERE rowid % 2 = 1), 
    [EvenRows] as 
    (SELECT *, RowId-1 As OddRowId FROM [TableWithRowId] WHERE rowid % 2 = 0) 
SELECT  
    [OddRows].UserId, 
    [OddRows].UserName, 
    [OddRows].LogDate, 
    [OddRows].LogTime, 
    [EvenRows].LogDate, 
    [EvenRows].LogTime  
FROM 
    [OddRows] LEFT JOIN [EvenRows] 
    ON [OddRows].RowId = [EvenRows].OddRowId 

1 Ответ

1 голос
/ 26 апреля 2010

AFAIK, Access не поддерживает WITH. Вам придется использовать временную таблицу для TableWithRowId (при условии, что существует некоторый эквивалент ROW_NUMBER(), который может не существовать) Остальные таблицы вы можете просто преобразовать в подвыборы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...