c# - 无法使用存储过程获得确切的结果,因为它返回带有增量的值
问题描述
ALTER PROCEDURE Searching
(@EmployeeName varchar(50))
AS
BEGIN
SELECT
EmployeeDetails.EmployeeId, EmployeeName, Mobile, Email,
Gender, Married, JoiningDate, DOB, ReportingManager,
ISActive, ISDelete, EmployeeRoles.RoleId,
employeeDepartment.Department
FROM
EmployeeDetails, EmployeeRoles, employeeDepartment
WHERE
EmployeeDetails.EmployeeName LIKE '%' + @EmployeeName + '%'
END
这是我的存储过程,但是当我执行它时,我得到的结果如下:
exec Searching 'Rizwan'
所以请帮我解决这个问题
解决方案
现在你有不受限制的连接。如果没有看到架构,我无法告诉您您的联接应该是什么,但我们可以推测大致如下:
Alter procedure Searching
(
@EmployeeName varchar(50)
)
as
begin
select EmployeeDetails.EmployeeId, EmployeeName, Mobile, Email, Gender, Married, JoiningDate, DOB, ReportingManager, ISActive, ISDelete, e.RoleId, ed.Department
from EmployeeDetails e
inner join EmployeeRoles er on er.Id = e.RoleId
inner join employeeDepartment ed on ed.Id = e.DepartmentId
where e.EmployeeName LIKE '%' + @EmployeeName + '%'
end
此外,作为一个广泛的不相关提示:使用varchar
人名通常是一个坏主意 - 将其限制为 50 个字符。名字很重要;我建议让它更像nvarchar(200)
列和参数。
推荐阅读
- windows - Windows 10 localhost:第 3 方应用程序在尝试连接到 localhost:5146 时挂起,这个端口是什么?
- wordpress - 如何在 wordpress API 中插入元数据?
- imagemagick - 将混合内容的多页 pdf 文件拆分为多个图像
- c# - 在新房间的服务帐户中执行请求时未发现异常
- api - 通过安全令牌进行 API 身份验证的最佳实践(Node.js 服务器和移动应用程序)
- rest-assured - 使用 Rest Assured 获取所有日期
- amazon-web-services - 无法在控制台中细化打包器构建的图像
- android - Android WebView:单独的 Cookie Jar
- python - 重置 pyqt5 小部件的 glContext
- vue.js - VueJS:使用 CDN URL 而不是 NPM 导入库