我有一个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 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
或者,创建一个视图并从中进行选择,如下所示:
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多列时,它特别有用。