3

ストアド プロシージャのこの部分を修正するにはどうすればよいですか?

select は 1、0、または null を返します。select が 1 または 0 を返す場合、@override をその値に設定します。null を返す場合は、@override を 1 に設定します。

構文に問題があります。「'select' 付近の構文が正しくない」および「')' 付近の構文が正しくない」と言われます。

SQLは次のとおりです。

set @override = (coalesce(select override from groupPreferences g inner join
preferences p on g.preferenceId = p.preferenceId where groupId = 13
and description = 'myDescription'), 1))
4

3 に答える 3

7
set @override = (coalesce((select override from groupPreferences g inner join
preferences p on g.preferenceId = p.preferenceId where groupId = 13
and description = 'myDescription'), 1))
于 2010-08-26T21:02:28.353 に答える
6

私は次のような読みやすいものを選びます:

select @override = override 
from groupPreferences g 
    inner join preferences p on g.preferenceId = p.preferenceId 
where groupId = 13
    and description = 'myDescription'

SET @override = ISNULL(@override, 1)

しかし、次のことができます。

SELECT @override = ISNULL((select override 
from groupPreferences g 
    inner join preferences p on g.preferenceId = p.preferenceId 
where groupId = 13
    and description = 'myDescription'), 1)
于 2010-08-26T21:01:11.077 に答える
0

答えが出ました - 合体という単語の後に ( がありませんでした。

于 2010-08-26T21:00:42.747 に答える