2016-11-01 3 views
1

Я использую сервер MS Sql, и у меня есть 2 таблицы, как показано ниже;Как получить все поля, кроме одного с внутренним соединением?

School(scid, name, address, ....) 
Student(scid, studentName, studentSurname, ....) 

Я хочу запросить;

SELECT * FROM Student ST INNER JOIN School SC ON ST.scid = SC.scid; 

Но я не хочу, чтобы получить двойное SCID поле результата (он возвращает SCID и scid_1). Я имею в виду

SELECT *(except School.scid) FROM Student ST INNER JOIN School SC ON ST.scid = SC.scid; 

Есть ли способ получить все поля, кроме одного?

+0

Когда вы используете все поля из 2 или более таблиц, может возникнуть смысл создать представление и явно определить все столбцы, которые вам понадобятся. Затем вам нужно выполнить простой выбор в своем приложении, то есть «Выбрать * из StudentFullView» – navigator

ответ

1

К сожалению, единственный способ сделать это - явно указать все поля. Только ярлык вы могли бы принять это использовать * для отдельных таблиц:

SELECT ST.*, School.Field1, School.Field2, etc 
    FROM Student ST INNER JOIN School SC ON ST.scid = SC.scid; 

Если у вас есть это много, вы могли бы рассмотреть с помощью Sql Запрашивать от RedGate, у них есть некоторые особенности, которые делают его более легким для работы с Sql базами данных ,

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