Как получить доступ к «идентификатору» в MS SQL Server Mangement Studio - PullRequest
0 голосов
/ 09 апреля 2019

SQL Management Studio Picture

Мне нужно получить доступ к красной пометке "id".В запросе нет идентификатора.Как я могу получить к нему доступ?Конечно, я хочу получить к нему доступ через оператор Select.

1 Ответ

4 голосов
/ 09 апреля 2019

Вы не можете точно "получить доступ" к нему.Вы можете рассчитать его, используя row_number().

Таблицы представляют неупорядоченные наборы.Так что нет никакого внутреннего порядка.Я не могу сказать, если какие-либо столбцы указывают порядок.Но вы можете сделать расчет следующим образом:

select row_number() over (order by uid) as id, t.*
from t;

Если вы хотите порядок вставки для таблицы, вы должны добавить столбец identity(), чтобы зафиксировать порядок вставки.Чтобы быть точным, вы должны воссоздать таблицу.

Вам не нужно указывать столбец, если вы используете:

select row_number() over (order by (select null)) as id, t.*
from t;

В этом случае результат будет неопределенный .

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