1

私のこの小さな質問について助けを求めたいと思います。サブクエリでクエリとサブクエリを実行しています。パラメータ化したいと思います。それを行う方法はありますか?私のクエリスクリプトを見てください。

select sum(issue) as [Issue], sum(nonissue) as [NonIssue]
from
(
AS
    select
        case when isissue = 1 then 1 else 0 end as 'issue',
        case when isissue = 0 then 1 else 0 end as 'nonissue',
        LastTicketStatusID
    from
        vw_Tickets
    where
        LastTicketStatusID = @LastTicketStatusID
) 
as Tickets

テーブル変数 "@LastTicketStatusID" を宣言する必要があります。パラメータはどこで宣言すればよいですか?

ありがとう、ノイティ

4

3 に答える 3

2

これがストアドプロシージャの場合...

CREATE PROCEDURE [dbo].[ProcedureName]
    @LastTicketStatusID INT
AS 

select
sum(issue) as [Issue], 
sum(nonissue) as [NonIssue]
from (
    select
    case when isissue = 1
        then 1 else 0 end as 'issue',
    case when isissue = 0
        then 1 else 0 end as 'nonissue',
    LastTicketStatusID
from vw_Tickets 
where LastTicketStatusID = @LastTicketStatusID ) as Tickets

さもないと

DECLARE @LastTicketStatusID INT
SELECT @LastTicketStatusID = yourDesiredID
于 2009-07-08T16:07:24.110 に答える
1

あなたの質問には関係ありませんが、vw_Tickets.isissue がビット フィールド (またはゼロまたは 1 の値に制限されている) であると仮定すると、インライン クエリを削除して Launchy の回答を簡素化できます。

select sum(isissue) as [Issue], 
    sum(1 - isissue) as [NonIssue]
from vw_Tickets 
where LastTicketStatusID = @LastTicketStatusID
于 2009-07-08T17:29:55.347 に答える
0

クエリの一番上に

Declare @LastTicketStatusID int
set @lastTicketStatusID = ####
于 2009-07-08T16:01:07.757 に答える