繁体   English   中英

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

[英]SQL query to select all columns in a table except two columns

我有一个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 ?

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

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

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

不,你被困住了

select a, c, d, e, g, h from TableA
select A, C, D, E, G, H from TableA

better to explicitly specify the columns you want to select. 我不确定,但明确指定要选择的列更好。 这使您对表的任何潜在更改都更容易使用,因为您可以使用别名等。

select A, C, D, E, G, H from TableA

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM