2016-12-03 2 views
0

Я новичок в SQL Server 2008 R2 и застрял в следующей ситуации. Я пытаюсь присоединиться к двум таблицам, используя внутренние ограничения присоединения и addi и смещение к ним.Внутреннее соединение с ограничением установки и смещением

Поскольку синтаксис MySQL отличается от SQL Server, я не могу получить результат. Я использовал ссылку this, но это никоим образом не помогло мне. Любая помощь будет оценена по достоинству. Благодаря!

+0

SQL Server 2008 R2 не имеет встроенный вариант для предела и смещения, которая была введена в 2012 году версии, как «смещение ... выберите следующий ». Если вы отредактируете свой вопрос, чтобы включить соответствующие таблицы DDL, некоторые образцы данных (предварительно как DML) и желаемые результаты, вам будет намного легче помочь. –

+0

Отвечает ли главный ответ на ваш вопрос? http://stackoverflow.com/questions/2135418/equivalent-of-limit-and-offset-for-sql-server – mendosi

+0

@mendosi top хорошо работает для отдельной таблицы, но не смог создать запрос для внутреннего соединения таблиц. ... –

ответ

2

Вы можете использовать этот запрос:

SET ROWCOUNT x -- x is Rows Count to get For Example : 50 
SELECT t.* 
FROM (
     SELECT row_number() over (ORDER BY a.id) AS rowindex, a.* 
     FROM table_1 a INNER JOIN table_2 b ON a.id = b.aid 
     WHERE -- limit conditions For Example : A.title = 'name2' 
    ) AS t 
WHERE t.rowindex >= y -- Y is Start index for Offset 

удачи

+0

@ TT/@ Мехди Мошири Спасибо за ур ответ. Прежде чем пытаться, я хотел бы знать, что такое 't' в вышеуказанном запросе? –

+0

@RonakRathod Это псевдоним таблицы, в данном случае для производной таблицы в предложении from. Если вы хотите ссылаться на столбец в этой производной таблице, вы делаете это, отбирая его с помощью псевдонима таблицы. В заявлении в ответе каждый столбец выбирается символом 't. *'; '*' означает все столбцы, 't.' означает, что производная таблица была добавлена' t'. –

+0

@TT. на моем сервере sql я получаю сообщение об ошибке: «Префикс столбца« t »не совпадает с именем таблицы или псевдонимом, используемым в запросе». Можем ли мы это исправить? так как я также не вижу, что псевдоним t был определен в запросе ... –

Смежные вопросы