CREATE PROCEDURE [dbo].[sp_SelectRecipientsList4Test] --'6DBF9A01-C88F-414D-8DD9-696749258CEF','Emirates.Description','0','5'
--'6DBF9A01-C88F-414D-8DD9-696749258CEF',
--'121f8b91-a441-4fbf-8a4f-563f53fcc103'
(
@p_CreatedBy UNIQUEIDENTIFIER,
@p_SortExpression NVARCHAR(100),
@p_StartIndex INT,
@p_MaxRows INT
)
AS
SET NOCOUNT ON;
IF LEN(@p_SortExpression) = 0
SET @p_SortExpression = 'Users.Name Asc'
DECLARE @sql NVARCHAR(4000)
SET @sql='
DECLARE @p_CreatedBy UNIQUEIDENTIFIER
SELECT
Name,
POBox,
EmirateName,
TelephoneNo,
RecipientID,
CreatedBy,
CreatedDate,
ID
FROM
(
SELECT Users.Name, Users.POBox, Emirates.Description As EmirateName,
UserDetails.TelephoneNo, AddressBook.RecipientID,AddressBook.CreatedBy, AddressBook.CreatedDate,
AddressBook.ID,
ROW_NUMBER() OVER(ORDER BY '+ @p_SortExpression +') AS Indexing
FROM AddressBook INNER JOIN
Users ON AddressBook.RecipientID = Users.ID INNER JOIN
UserDetails ON Users.ID = UserDetails.UserID INNER JOIN
Emirates ON Users.EmiratesID = Emirates.ID
----WHERE (AddressBook.CreatedBy = @p_CreatedBy)
) AS NewDataTable
WHERE Indexing > '+ CONVERT(NVARCHAR(10), @p_StartIndex) +
' AND Indexing<=(' + CONVERT (NVARCHAR(10),@p_StartIndex) + ' + '
+ CONVERT(NVARCHAR(10),@p_MaxRows)+') '
EXEC sp_executesql @sql
这查询不给予任何错误,但也没有给出任何结果 请帮助帮我写这个查询
此查询工作精绝,与所有内部连接和SELECT语句,当IM加入其中,这是我的查询评论它没有给出预期的结果“WHERE条件(AddressBook.CreatedBy = @p_CreatedBy)“这些行是注释和查询工作正常,但我想把这个条件。 – 2009-06-23 12:30:06
@Yaser Ahmed - 我添加了另一个修复程序来解决您的问题。列和参数名称不准确,因为编辑答案时问题消失。 – cjk 2009-06-23 12:44:37
我甚至试过这个where子句,它仍然没有工作。即时通讯获取此错误数据类型varchar和uniqueidentifier在添加运算符中不兼容。 – 2009-06-24 11:04:36