Sql server 2005 SQL Server 2005存储过程问题

Sql server 2005 SQL Server 2005存储过程问题,sql-server-2005,Sql Server 2005,我正在编写一个存储过程,如下所示: create PROC uspInvCustomerLineItemGetList1(@CustomerID varchar(50)) AS BEGIN SELECT LineItemID, LineItemName from tblInvoiceLineItems where CustomerID = @CustomerID or CustomerID = '' and AccountNumbe

我正在编写一个存储过程,如下所示:

create PROC uspInvCustomerLineItemGetList1(@CustomerID varchar(50))
AS
BEGIN   
    SELECT LineItemID, LineItemName 
    from tblInvoiceLineItems
    where CustomerID = @CustomerID 
       or CustomerID = '' 
       and AccountNumber = (select AccountNumber from tblInvAccountDetails 
                            where AccountTypeID = 10 and 20)

END
我的问题是子查询传递2个或多个值从tblInvAccountDetails中选择AccountNumber,其中AccountTypeID=10和20,因此我将根据AccountTypeID=10和20比较AccountNumber 1000、10003和1006

请问如何编写存储过程

多谢各位

hemanth

用于非=

注:

AccountTypeID不能同时为10和20:我猜您的意思是或。IN是多个OR的简写 并优先于左右检查您是否需要和某处
欢迎来到StackOverflow。请注意常见问题:
...
where
    CustomerID=@CustomerID
    or
    CustomerID=''
    and
    AccountNumber IN  (select AccountNumber from tblInvAccountDetails where AccountTypeID IN (10, 20))