想象一下,我有一张像这样的表:
CREATE TABLE marcas
(
id_marca integer,
marca character varying
));
我想进行查询,但每个字段的值都为空。
我知道可以解决这个问题:
SELECT '' as id, '' as marca FROM marcas
问题是我有很多桌子,其中一些有超过100个场...... 我需要一个SQL语句,它可以获取表的所有行字段但是空并且很简单......
答案 0 :(得分:4)
以下是在每列中获取NULL
的方法。它使用left outer join
的条件失败:
select t.*
from (select 1 as val
) v left outer join
table t
on 1 = 0;
编辑:
如果您想在Access中执行此操作,那将是一项挑战。表达式select 1 as val
不起作用。以下应该:
select t.*
from (select max(1) as val
from table as t
) as v left outer join
table as t
on val = 0;
这也适用于Postgres,但它有不必要的开销。
答案 1 :(得分:0)
如果您使用
SELECT * FROM MARCAS
您将获得
的结果集===================
ID_MARCA | MARCA
===================
这将返回零结果,但它将显示查询表中的所有列。我无法完全理解你想要达到的目标。
答案 2 :(得分:0)
如果您只想要列列表而没有返回任何行
SELECT TOP 0 * FROM marcas