SQL-запрос для выбора всех столбцов в таблице, кроме двух столбцов - PullRequest
5 голосов
/ 03 декабря 2009

У меня есть таблица в ms-access с именами столбцов от A до H

TableA 

A   B  C  D  E  F G  H

как мне написать запрос, чтобы выбрать все столбцы, кроме столбцов B и F. Результат запроса должен быть

A C D E G H

Есть ли у нас что-то вроде этого

select * from TableA except B, F ?

Ответы [ 7 ]

3 голосов
/ 03 декабря 2009

Нет, мы не. Вы должны использовать

SELECT A, C, D, E, G, H 
FROM TableA

И это хорошо, если вы спросите меня. SELECT * достаточно злой.

2 голосов
/ 03 декабря 2009

Нет, вы застряли с

select a, c, d, e, g, h from TableA
1 голос
/ 03 декабря 2009
select A, C, D, E, G, H from TableA

или создайте вид и выберите из него, как показано ниже:

CREATE VIEW vTableA
as   
select A, C, D, E, G, H from TableA
1 голос
/ 03 декабря 2009

Не знаю точно, но определенно лучше явно указать столбцы, которые вы хотите выбрать. Это упрощает любые возможные изменения в вашей таблице, так как вы можете использовать псевдонимы и т. Д.

1 голос
/ 03 декабря 2009
select A, C, D, E, G, H from TableA
0 голосов
/ 13 июня 2013

Это немного больно в заднице, и я пошел на этот форум, чтобы найти другой способ сделать это, но да, вы застряли, определяя каждый столбец. Вы можете захватить все столбцы, выполнив что-то вроде этого:

select ',[' + column_name + ']'
from information_schema.columns
where table_name = 'your_table_name'

Таким образом, вы можете быстро исключить ненужные столбцы. Это особенно полезно, когда у вас более 50 столбцов.

0 голосов
/ 03 декабря 2009

Вы не можете сделать это. Это '*' или просто поля, которые вы указываете. Это большая проблема? Или вы просто хотите что-нибудь "аккуратнее"?

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