gpt4 book ai didi

sql-server - 在 Sybase 中选择 EXISTS

转载 作者:行者123 更新时间:2023-12-02 01:17:34 34 4
gpt4 key购买 nike

我在 PostgreSQL 中有以下查询(1=1 是某些任意条件的占位符,因为显然我无法在 Sybase 中编写 WHERE TRUE)

SELECT EXISTS FROM (
SELECT 1 FROM someTable WHERE 1=1
)

如何将它们翻译成 SQL Server/Sybase 语法?
一种迂回的方法是:
SELECT COUNT(*) FROM (
SELECT 1 FROM someTable WHERE 1=1
) a

…可以进一步简化为:
SELECT COUNT(*) FROM someTable WHERE 1=1  

… 但是 EXISTS更干净,我相信它也符合 ANSI 标准。

最佳答案

exists() 不返回您可以选择的值(我不知道为什么)。您可以查看if exists() ,但不是 select exists() .您也可以查看where exists()甚至case when exists() .

select 
E = case
when exists(
select 1 from master..spt_values
)
then 1
else 0
end

如果您尝试获取多个不同条件的计数,则 sql server 的常见模式如下:
select 
ACount = sum(case when x='A' then 1 else 0 end)
, ABCount = sum(case when x in ('A','B') then 1 else 0 end)
, TotalCount = count(*) /* or sum(1) */
from someTable

关于sql-server - 在 Sybase 中选择 EXISTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41898085/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com