【发布时间】:2017-05-26 07:46:12
【问题描述】:
我已经在寻找整体了。只是需要一个眼睛敏锐的人来帮忙。谢谢。
SELECT (Select contactid from [tableA].[dbo].tableC where Company = '" & company & "' AND empid = vProfile2.EmpNo) as contactid,vprofile2.EmpNo EmpNo, vprofile2.EmpName EmpName, upper(vprofile2.CompanyCode) CompanyCode, upper(vprofile2.DeptName) DeptName, Upper(vprofile2.JobTitle) JobTitle " & _
",Email_add Email,(Select Contact from [tableA].[dbo].tableC where Company = '" & company & "' AND empid = vProfile2.EmpNo) as contact, " & _
"(Select Speeddial from [tableA].[dbo].tableC where Company = '" & company & "' AND empid = vProfile2.EmpNo) as Speeddial " & _
"FROM [tableA].[dbo].tableC RIGHT JOIN server.tableB.[dbo].[tableD] vprofile2 ON vProfile2.EmpNo = tableC.empid " & _
" AND tableC.company=vProfile2.CompanyCode " & _
"Inner JOIN server.tableB.[dbo].[tbEmail] vEmail ON vProfile2.EmpNo= vEmail.Emp_No " & _
"WHERE(vprofile2.EmpNo Is Not null) And " & _
"vProfile2.CompanyCode = '" & company & "' " & _
"ORDER by EmpName "
我收到一个错误,我试图找出发生了什么。
子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
【问题讨论】:
-
首先要了解Sql注入和参数化查询。然后,一旦你的代码是安全的,你就可以开始处理子查询问题了。
-
我们不知道您的表结构、当前数据、预期结果等。我完全不确定您为什么要使用子查询——这不是一种明显的方式来构建您的查询当
tableC已经在FROM子句中并且(由于连接条件)被限制为具有等于company的Company值时。另外,回应 Zohar 的评论,您需要使用参数。 -
向我们展示处理后的查询,该代码很难阅读。
标签: javascript sql vb.net