SQL空查询结果
假设我有一张这样的桌子:SQL空查询结果,sql,database,select,Sql,Database,Select,假设我有一张这样的桌子: CREATE TABLE marcas ( id_marca integer, marca character varying )); 我想进行查询,但每个字段中的值都是空的 我知道这样可以解决问题: 选择“作为id”,从marcas中选择“作为marca” 问题是我有很多表,其中一些有超过100个字段。。。 我需要一个SQL语句,它可以获取一个表的所有行字段,但为空,并且非常简单…这里有一个方法可以在每一列中获取NULL。它使用左外连接,但条件失败: sel
CREATE TABLE marcas
(
id_marca integer,
marca character varying
));
我想进行查询,但每个字段中的值都是空的
我知道这样可以解决问题:
选择“作为id”,从marcas中选择“作为marca”
问题是我有很多表,其中一些有超过100个字段。。。
我需要一个SQL语句,它可以获取一个表的所有行字段,但为空,并且非常简单…这里有一个方法可以在每一列中获取
NULL
。它使用左外连接
,但条件失败:
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,但它有不必要的开销。这里有一种方法可以在每一列中获取
NULL
。它使用左外连接
,但条件失败:
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,但它有不必要的开销。如果您使用
SELECT * FROM MARCAS
您将得到一个
===================
我是马卡|马卡
===================
这将返回零结果,但将显示查询表中的所有列。我无法完全理解您想要实现的目标。如果您使用
SELECT * FROM MARCAS
您将得到一个
===================
我是马卡|马卡
===================
这将返回零结果,但将显示查询表中的所有列。我无法完全理解您试图实现的目标。如果您只希望列列表而不返回行,那么
SELECT TOP 0 * FROM marcas
如果只需要列列表而不返回行,那么
SELECT TOP 0 * FROM marcas
您使用的是什么sql实现?MSSQL、Postgres等。您真正需要的是什么?表格结构?或者其他什么?您使用的是什么sql实现?MSSQL、Postgres等。您真正需要的是什么?表格结构?或者别的什么?+1我想这是你能得到的最接近的结果。这个查询在PostgreSQL上运行得很好,但在Microsoft Access中尝试执行时出错,它说1=0表达式不被允许。谢谢Gordon的回答。我在这里打开了一个新的线程:在ms access中寻找关于这个问题的特定解决方案。在我的情况下,您的access解决方案不起作用…尽管它在PostgreSQL中再次起作用。+1我认为这与您所能得到的非常接近。此查询在PostgreSQL上运行得非常好,但在尝试在Microsoft access中执行时出错,它表示不允许使用1=0表达式。感谢Gordon的回答。我在这里打开了一个新的线程:在ms access中寻找关于这个问题的特定解决方案。在我的案例中,您的access解决方案不起作用……尽管它在PostgreSQL中再次起作用。