Это означает, что перед полем поиска в предложении select есть ноль?

#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 — намеренно сохраняя его.