SQL Server:将值从一个表映射到另一个表
我正在开发指纹设备阅读器,该设备(自身)为每个人员生成一种“钥匙”。我获取这些密钥并将其存储在表SQL Server:将值从一个表映射到另一个表,sql,sql-server,Sql,Sql Server,我正在开发指纹设备阅读器,该设备(自身)为每个人员生成一种“钥匙”。我获取这些密钥并将其存储在表EmpInfo\u Device中,表中有两列: DevKey(FP读取器生成的密钥) Emp_id(该外键来自另一个表EmpInfo,用于为其生成密钥的特定员工) (例如,设备为id为(120)的员工“Jack”生成密钥(40))。有时,有些人不是员工,但仍在使用该设备,从而为他们生成密钥。问题是我想从另一个表LogData\u Stage1中获取所有日志条目,该表主要由以下几列组成: DevKey
EmpInfo\u Device
中,表中有两列:
DevKey
(FP读取器生成的密钥)Emp_id
(该外键来自另一个表EmpInfo
,用于为其生成密钥的特定员工)LogData\u Stage1
中获取所有日志条目,该表主要由以下几列组成:
LogData\u Stage1
中的所有日志条目仅用于EmpInfo\u设备中存储的员工
我试过这个问题,但我觉得它有点错误
Select *
From EmpInfo_Device e
Where e.DevKey in (Select lg.DevKey from LogData_Stage1 lg)
此查询返回EmpInfo\u Device
中的所有值-但是LogData\u Stage1
中的不同ID数恰好是86,所以我有点困惑
提前感谢,如果问题太长,我很抱歉。如果我理解正确,您需要为员工(而不是读者的其他非员工用户)创建的所有日志条目以及员工ID。为此,您可以使用内部联接
SELECT ed.emp_id,
l.logdatetime,
l.logtype
FROM logdata_stage1 l
INNER JOIN empinfo_device ed
ON ed.devkey = l.devkey;
为什么你认为这个问题是错误的?我需要在另一个表中插入值'Emp_Id'(在映射Devkey和查询后获得该值),'LogDateTime','LogType',以防止条目日志的重复。我需要一个查询,不需要单独获取这些Emp\u id。谢谢您,先生!这正是我所需要的