相关疑难解决方法(0)

如果列存在,如何选择特定行,如果列不存在,如何选择所有行

我正在编写一个脚本来获取几个表的行数,但是对于某些表,我只想获取设置了标志的行数(在这种情况下为 active=1)。有没有一种方法可以在一个查询中做到这一点?

例如:

users有一个名为 active 的列

clients没有名为 active 的列

我想获取 active=1 的用户数,并获取客户端数。

在你说“只是硬编码它”之前,这是一个在 python 脚本中的查询,该脚本可以在许多不同的数据库上运行,我无法知道我的脚本将选择哪些表,以及它们是否有一个名为 的列active,以及我宁愿只用一个查询来完成所有工作,而不是两个单独的查询并依靠 mysql 抛出错误,所以我知道使用另一个查询。

mysql count select

24
推荐指数
1
解决办法
2万
查看次数

为什么我不能使用 CASE 语句来查看列是否存在而不是从中选择?

为什么这样的事情不起作用?

SELECT
CASE 
WHEN NULLIF(COL_LENGTH('Customers', 'Somecol'), '') IS NULL THEN NULL
ELSE Somecol
END AS MyTest
FROM Customers;
Run Code Online (Sandbox Code Playgroud)

我只是检查该列是否存在,但是,SQL Server 抱怨Somecol不存在。在单个语句中是否有替代方法?

sql-server t-sql

18
推荐指数
2
解决办法
3万
查看次数

标签 统计

count ×1

mysql ×1

select ×1

sql-server ×1

t-sql ×1