SQL查询以选择除两列之外的表中的所有列

问题描述 投票:5回答:7

我有一个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 ?
sql ms-access
7个回答
2
投票

不,你被困住了

select a, c, d, e, g, h from TableA

3
投票

不,我们没有。你必须使用

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

如果你问我,这很好。 SELECT *很邪恶。


1
投票
select A, C, D, E, G, H from TableA

1
投票

我不确定,但明确指定要选择的列肯定更好。这使您对表的任何潜在更改都更容易使用,因为您可以使用别名等。


1
投票
select A, C, D, E, G, H from TableA

或者,创建一个视图并从中进行选择,如下所示:

CREATE VIEW vTableA
as   
select A, C, D, E, G, H from TableA

0
投票

你不能这样做。它是'*'或只是您指定的字段。这是一个大问题吗?或者只是你想要一些“整洁”的东西?


0
投票

这是一个痛苦的屁股,我去这个论坛找到另一种方法来做到这一点,但是,你,你被困在定义每一列。但是,您可以通过执行以下操作来获取所有列:

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

这样,您可以快速排除不想要的列。当你有50多列时,它特别有用。

© www.soinside.com 2019 - 2024. All rights reserved.