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
    ,用于为其生成密钥的特定员工)
  • (例如,设备为id为(120)的员工“Jack”生成密钥(40))。有时,有些人不是员工,但仍在使用该设备,从而为他们生成密钥。问题是我想从另一个表
    LogData\u Stage1
    中获取所有日志条目,该表主要由以下几列组成:

  • DevKey(如前所述)
  • 日志日期时间
  • 对数型
  • 现在,我希望
    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。谢谢您,先生!这正是我所需要的