我在存储过程中遇到了一些SQL语法问题。我正在从SQL表中检索最近一行(在SQL Server Management Studio中),并稍后在我的存储过程中使用它。这就是为什么我设置变量(即:@firstname, @lastname
等)。我只对基于dbo.[ws_test_request].CREATED
列值的最新行感兴趣。我需要根据查询的数据设置变量,所以我需要得到“这不起作用”查询工作。ORDER BY在SELECT语句中不起作用
PS:“2011051001”将是一个变量......我只是试图让它工作。
这工作:
SELECT
TOP 1
@firstname = [sample_donor_firstname],
@lastname = [sample_donor_lasttname],
@middlename = [sample_donor_middlename]
FROM dbo.[ws_test_request]
WHERE
[sample_specimen_id] = '2011051001'
ORDER BY dbo.[ws_test_request].created DESC
这不起作用:
SELECT
TOP 1
[sample_donor_firstname],
[sample_donor_lasttname],
[sample_donor_middlename]
FROM dbo.[ws_test_request]
WHERE
[sample_specimen_id] = '2011051001'
ORDER BY dbo.[ws_test_request].created DESC
谢谢!!
我声明我的变量上面的查询。 \t DECLARE \t \t @donorid INT, \t \t @firstName NVARCHAR(255), \t \t @LastName NVARCHAR(255), \t \t @identifyingnumber NVARCHAR(255), - SSN/MRN \t \t @ middlename NVARCHAR(255), \t \t @comment NVARCHAR(1023); – MacGyver 2011-05-10 15:33:00
它以什么方式不起作用?你期望它做什么?你是否期望它设置变量,尽管你没有在查询中设置变量? – Guffa 2011-05-10 15:37:27
唯一的区别似乎是你没有分配第二个查询中的变量;所以如果这就是你想要发生的事情,那么你需要使用第一个查询......我错过了什么? – Jaymz 2011-05-10 15:38:53