sql求教,假如on等式左侧为23567,而等式右侧的B.DepId有多个为12293,23567,324323。有没有办法找出来比较?

stevenjin 2018-02-10 09:30:35
有如下sql, 假如on等式左侧为23567,而等式右侧的B.DepId有多个为12293,23567,324323。有没有办法找出来比较?
SELECT A.UserName,B.DepName,A.JobNumber FROM User AS A INNER JOIN Dep AS B
ON A.Dep = B.DepId where A.Name = '刘珠'
...全文
396 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenjin 2018-02-10
  • 打赏
  • 举报
回复
群举万岁,貌似可以了
二月十六 2018-02-10
  • 打赏
  • 举报
回复
引用 2 楼 stevenjin 的回复:
群举,还是会报错: 在将 nvarchar 值 '27590,37590' 转换成数据类型 int 时失败。 因为等式左侧为一个整数类型。而右侧一旦加上逗号,就报错了
奥你是这个意思啊 试试这样行不
SELECT  A.UserName ,
        B.DepName ,
        A.JobNumber
FROM    [User] AS A
        INNER JOIN Dep AS B ON CHARINDEX(RTRIM(A.Dep), B.DepId) > 0
WHERE   A.Name = '刘珠'
stevenjin 2018-02-10
  • 打赏
  • 举报
回复
群举,还是会报错: 在将 nvarchar 值 '27590,37590' 转换成数据类型 int 时失败。 因为等式左侧为一个整数类型。而右侧一旦加上逗号,就报错了
二月十六 2018-02-10
  • 打赏
  • 举报
回复
inner join 只会读取出来一条,就是都是23567这条; 如果都像读取出来,可以试试left join
SELECT  A.UserName ,
        B.DepName ,
        A.JobNumber
FROM    Dep AS B
        LEFT JOIN [User] AS A ON A.Dep = B.DepId
WHERE   A.Name = '刘珠'
二月十六 2018-02-10
  • 打赏
  • 举报
回复
引用 4 楼 stevenjin 的回复:
群举万岁,貌似可以了
如果可以了记得结贴
一个不错的治具管理系统 namespace MainDepartment { public class MainDepartmentDAL { private string Module_Desc = "Department Maintenance"; SecAuditTrail.SecAuditTrailDAL SecAuditTrailDAL = new SecAuditTrail.SecAuditTrailDAL(); SQLAPI.SQLAPI SQLAPI = new SQLAPI.SQLAPI(); #region Search public DataTable Search(object obj) { string s = ""; try { if (obj is MainDepartment && obj !=null) { MainDepartment obj2 = (MainDepartment)obj; s = " SELECT a.DepId,a.DepCd,a.DepDesc,a.Status,a.CreatedBy,a.CreatedDate,a.UpdatedDate,a.UpdatedBy,b.SiteCd +'-'+ b.SiteDesc as Site" + " FROM CR_Department a with (nolock)" + //" inner join CR_Site b with (nolock) on a.CreatedSite = b.SiteId" + " where a.DepDesc like '" + SqlObject.Encode(obj2.DepDesc) + "%'" + " and a.DepCd like '" + SqlObject.Encode(obj2.DepCd) + "%'" + " and a.Status like '" + SqlObject.Encode(obj2.Status) + "%'" + // " and a.CreatedSite in (" + obj2.CreatedSite + ")" + " order by a.DepCd "; return SQLAPI.ExecuteNonQueryReturnDataTable(SQLAPI.ENCRYPT_CONN_STRING(), s, null, CommandType.Text); } else { throw new Exception("MainDepartment Object not found!"); } } catch (Exception ex) { throw new Exception("MainDepartmentDAL.Search : " + ex.Message); } return SQLAPI.ExecuteNonQueryReturnDataTable(SQLAPI.ENCRYPT_CONN_STRING(), s, null, CommandType.Text); } #endregion #region add public void add(Object obj) { string s = ""; try { if (obj is MainDepartment && obj !=null) { MainDepartment obj2 = (MainDepartment)obj; s = "INSERT INTO CR_Department " + "(DepCd,DepDesc,Status,CreatedBy,CreatedDate,CreatedSite) " + "VALUES(" + "'" + SqlObject.Encode(obj2.DepCd) + "'," + "'" + SqlObject.Encode(obj2.DepDesc) + "'," + "'A'," + "'" + SqlObject.Encode(obj2.CreatedBy) + "'," + " Convert(datetime,getdate(),12) , " + "'" + obj2.CreatedSite + "'" + ")"; SQLAPI.ExecuteNonQuery(SQLAPI.ENCRYPT_CONN_STRING(), s,null, CommandType.Text); SecAuditTrailDAL.add(Module_Desc, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name.ToString(), obj2.CreatedBy.ToString()); } else { throw new Exception("MainDepartment Object not found!"); } } catch (Exception ex) { throw new Exception("MainDepartmentDAL.add : " + ex.Message); } } #endregion #region delete public void delete(Object obj) { string s = ""; try { if (obj is MainDepartment && obj !=null) { MainDepartment obj2 = (MainDepartment)obj; s = "Delete from CR_Department where DepId = '" + obj2.DepId + "'"; SQLAPI.ExecuteNonQuery(SQLAPI.ENCRYPT_CONN_STRING(), s, null, CommandType.Text); SecAuditTrailDAL.add(Module_Desc, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name.ToString(), obj2.UpdatedBy.ToString()); } else { throw new Exception("MainDepartment Object not found!"); } } catch (Exception ex) { throw new Exception("MainDepartmentDAL.delete : " + ex.Message); } } #endregion #region update public void update(Object obj) { string s = ""; try { if (obj is MainDepartment && obj !=null) { MainDepartment obj2 = (MainDepartment)obj; s = "UPDATE CR_Department SET " + " DepCd = '" + SqlObject.Encode(obj2.DepCd) + "', " + " DepDesc = '" + SqlObject.Encode(obj2.DepDesc) + "', " + " Status = '" + SqlObject.Encode(obj2.Status) + "', " + " UpdatedBy = '" + SqlObject.Encode(obj2.UpdatedBy) + "', " + " UpdatedDate = Convert(datetime,getdate(),12) " + " where DepId = '" + obj2.DepId + "'"; SQLAPI.ExecuteNonQuery(SQLAPI.ENCRYPT_CONN_STRING(), s, null, CommandType.Text); SecAuditTrailDAL.add(Module_Desc, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name.ToString(), Convert.ToString(obj2.UpdatedBy)); } else { throw new Exception("MainDepartment Object not found!"); } } catch (Exception ex) { throw new Exception("MainDepartmentDAL.update : " + ex.Message); } } #endregion #region CheckDuplicate public string CheckDuplicate(object obj) { string s = ""; try { if (obj is MainDepartment && obj !=null) { MainDepartment obj2 = (MainDepartment)obj; s = " select (case when count(*)='0' then 'No' else 'Yes' end) FROM CR_Department with (nolock)" + " where DepCd = '" + SqlObject.Encode(obj2.DepCd) + "' and CreatedSite = '" + obj2.CreatedSite + "'"; return SQLAPI.ExecuteScalar(SQLAPI.ENCRYPT_CONN_STRING(), s, null, CommandType.Text); } else { throw new Exception("MainDepartment Object not found!"); } } catch (Exception ex) { throw new Exception("MainDepartmentDAL.CheckDuplicate : " + ex.Message); } } #endregion #region updateStatus public void updateStatus(Object obj) { string s = ""; try { if (obj is MainDepartment && obj !=null) { MainDepartment obj2 = (MainDepartment)obj; s = "UPDATE CR_Department SET " + " Status ='" + SqlObject.Encode(obj2.Status) + "', " + " UpdatedBy = '" + SqlObject.Encode(obj2.UpdatedBy) + "', " + " UpdatedDate = Convert(datetime,getdate(),12) " + " where DepId = '" + obj2.DepId + "'"; SQLAPI.ExecuteNonQuery(SQLAPI.ENCRYPT_CONN_STRING(), s, null, CommandType.Text); SecAuditTrailDAL.add(Module_Desc, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name.ToString(), obj2.UpdatedBy.ToString()); } else { throw new Exception("MainDepartment Object not found!"); } } catch (Exception ex) { throw new Exception("MainDepartmentDAL.updateStatus : " + ex.Message); } } #endregion #region DDL public DataTable DDL(object obj) { string s = ""; try { if (obj is MainDepartment && obj !=null) { MainDepartment obj2 = (MainDepartment)obj; s = " SELECT DepId,DepCd+'-'+DepDesc as CdDesc " + " FROM CR_Department with (nolock)" + " where Status='A'" + " and CreatedSite in (" + obj2.CreatedSite + ") order by DepCd asc "; return SQLAPI.ExecuteNonQueryReturnDataTable(SQLAPI.ENCRYPT_CONN_STRING(), s, null, CommandType.Text); } else { throw new Exception("MainDepartment Object not found!"); } } catch (Exception ex) { throw new Exception("MainDepartmentDAL.DDL : " + ex.Message); } } #endregion } }
人事管理信息系统 use master go if exists (select * from dbo.sysdatabases where name = 'DBManPower') drop database DBManPower GO create database DBManPower go use DBManPower go if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbUser]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbUser] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbDuty]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbDuty] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbNation]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbNation] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbEdu]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbEdu] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbDep]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbDep] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbEmployee]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbEmployee] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbFamilyMember]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbFamilyMember] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbWorkExp]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbWorkExp] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tbWorkRecord]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tbWorkRecord] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TbEvaluation]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[TbEvaluation] GO CREATE TABLE [dbo].[tbUser] ( UserId char(10) NOT NULL , UserPassword char(8) NOT NULL , UserKind varchar(20) NOT NULL, PRIMARY KEY (UserId) ) GO CREATE TABLE [dbo].[tbDuty] ( DutyId char(8) NOT NULL , DutyName varchar(20) NOT NULL , PRIMARY KEY (DutyId) ) GO CREATE TABLE [dbo].[tbNation] ( NationId char(3) NOT NULL, NationName varchar(20) NOT NULL, PRIMARY KEY (NationId) ) GO CREATE TABLE [dbo].[tbEdu] ( EduId char(2) NOT NULL , EduName varchar(20) NOT NULL , PRIMARY KEY (EduId) ) GO CREATE TABLE [dbo].[tbDep] ( DepId char(8) NOT NULL , DepName varchar(30) NOT NULL , Describe varchar(100) NULL , PRIMARY KEY (DepId) ) GO CREATE TABLE [dbo].[tbEmployee] ( EmpId char(8) NOT NULL , EmpName varchar(30) NOT NULL , Gender char(2) NULL, Age int NULL, NationId char(3) NULL, Birthday datetime NULL, PoliticalParty varchar(20) NULL, MaritalCon varchar(6) NULL , DepId char(8) NULL, HireDate datetime NULL, EduId char(2) NULL, FamilyPlace varchar(20) NULL, IdCard varchar(20) NOT NULL, Email varchar(30) NULL, Officephone varchar(20) NULL, Homephone varchar(20) NULL, Mobile varchar(20) NULL, State varchar(20) NOT NULL , Residence varchar(100) NULL, Postcode varchar(10) NULL, DutyId char(8) NULL, RecorId char(10) NULL, PRLocation varchar(50) NULL, EmpIdRecord varchar(30) NULL, PRIMARY KEY (EmpId) ) GO CREATE TABLE [dbo].[tbFamilyMember] ( Id char(8) NOT NULL , EmpId char(8) NOT NULL , Name varchar(30) NOT NULL, Gender char(2) NULL , Age int NULL, Relationship varchar(20) NULL, WorkingOrg varchar(50) NULL, Tel varchar(20) NULL, PRIMARY KEY (Id) ) GO CREATE TABLE [dbo].[tbWorkExp] ( Id char(8) NOT NULL , EmpId char(8) NOT NULL , StartDate datetime NOT NULL, EndDate datetime NOT NULL, WorkOrg varchar(50) NOT NULL, Position varchar(10) NULL, EduId char(2) NOT NULL , WorkDescri varchar(400) NULL, PRIMARY KEY (Id,EmpId) ) GO CREATE TABLE [dbo].[tbWorkRecord] ( RecordYear char(4) NOT NULL , RecordMonth char(2) NOT NULL , EmpId char (8) NOT NULL, DepId char(8) NULL , DaysPresiMonth int NULL , LeaveDays int NULL , AbsentDays int NULL , VacDays int NULL , ErrandDays int NULL , LateDays int NULL , LeaveEarlyDays int NULL , Ot1Days int NULL , Ot2Days int NULL , Ot3Days int NULL , PRIMARY KEY (RecordYear,RecordMonth,EmpId) ) GO CREATE TABLE [dbo].[tbEvaluation] ( EvaYear char(4) NOT NULL , EvaMonth char(2) NOT NULL , EmpId char (8) NOT NULL, WorkCoe int NULL, WorkDes varchar(400) NULL, WorkEva varchar(300) NULL, PRIMARY KEY (EvaYear,EvaMonth,EmpId) ) GO

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧