#sql #sql-server #tsql
#sql #sql-сервер #tsql
Вопрос:
Я пытаюсь изменить процедуру SQL, но я не могу понять полный запрос, перед полем стоит ноль, и я не знаю, что это значит.
SELECT DISTINCT field1.id , 0 fiedl
FROM tableX
INNER JOIN table2 ON table1.id = table2.id
INNER JOIN ....
Это просто вопрос, я пытаюсь найти информацию в документах Microsoft sql server, но ничего не найдено, о числе до или каком-либо индексе.
Ответ №1:
Это означает fiedl
, что не извлекается ни из одной таблицы, если такой столбец вообще существует.
Вместо этого второй столбец возвращает литерал 0
для всех строк. Для fiedl
этого второго столбца был указан псевдоним.
Существуют различные способы предоставления псевдонимов столбцов:
column fiedl
column AS fiedl
fiedl = column
Все вышеперечисленное указывает fiedl
в качестве псевдонима для column
.
В такого рода запросах почти всегда бывает (если вы посмотрите назад через систему управления версиями), что он использовался для извлечения fiedl
столбца. В какой-то более поздний момент было решено, что столбец больше не требуется (или является конфиденциальным и не должен использоваться совместно и т. Д.), Но Что изменение вызывающих запросов запроса было более трудоемким, чем изменение запроса, чтобы по-прежнему возвращать результирующий набор с той же формой, но больше не извлекать какие-либо реальные данные в столбце2.
Комментарии:
1. @TimBiegeleisen — намеренно сохраняя его.