gpt4 book ai didi

sql - 在 SELECT 子句中的列之间使用相等性检查

转载 作者:行者123 更新时间:2023-12-02 00:05:42 25 4
gpt4 key购买 nike

我正在使用 Microsoft SQL Server 2012,我想运行这个看似简单的查询:

SELECT 
FirstEvent.id AS firstEventID,
SecondEvent.id AS secondEventID,
DATEDIFF(second, FirstEvent.WndFGEnd, SecondEvent.WndFGStart) AS gap,
FirstEvent.TitleID = SecondEvent.TitleID AS titlesSameCheck
FROM VibeFGEvents AS FirstEvent
RIGHT OUTER JOIN VibeFGEvents AS SecondEvent
ON
FirstEvent.intervalMode = SecondEvent.intervalMode
AND FirstEvent.id = SecondEvent.id - 1
AND FirstEvent.logID = SecondEvent.logID

但是,SELECT 子句中的 FirstEvent.TitleID = SecondEvent.TitleID AS TitlesSameCheck 语法不正确。但是the SELECT Clause (Transact-SQL) documentation包括以下语法:

SELECT [ ALL | DISTINCT ]
[ TOP ( expression ) [ PERCENT ] [ WITH TIES ] ]
<select_list>
<select_list> ::=
{
*
| { table_name | view_name | table_alias }.*
| {
[ { table_name | view_name | table_alias }. ]
{ column_name | $IDENTITY | $ROWGUID }
| udt_column_name [ { . | :: } { { property_name | field_name }
| method_name ( argument [ ,...n] ) } ]
| expression
[ [ AS ] column_alias ]
}
| column_alias = expression
} [ ,...n ]

我认为这意味着表达式在 select 子句中有效,并且实际上给出的示例包括 1 + 2 之类的内容。正在查看the documentation for expressions :

{ constant | scalar_function | [ table_name. ] column | variable 
| ( expression ) | ( scalar_subquery )
| { unary_operator } expression
| expression { binary_operator } expression
| ranking_windowed_function | aggregate_windowed_function
}

bool 相等检查是有效的表达式,实际上是the = (Equals) (Transact-SQL) documentation中给出的示例表达式。包括一个:

SELECT DepartmentID, Name
FROM HumanResources.Department
WHERE GroupName = 'Manufacturing'

尽管在 WHERE 子句中,而不是在 SELECT 子句中。看起来我无法使用 = 相等运算符来比较 SELECT 子句中的表达式,因为它们被错误地解释为赋值。

如何在我的 SELECT 子句中包含相当于 FirstEvent.TitleID = SecondEvent.TitleID AStitlesSameCheck 的 bool 相等列比较?

最佳答案

像这样:

case when FirstEvent.TitleID = SecondEvent.TitleID then 1 else 0 end as titlesSameCheck 

关于sql - 在 SELECT 子句中的列之间使用相等性检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15410762/

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