获得Emp_ID

时间:2012-09-25 09:49:22

标签: sql sql-server sql-server-2008 tsql

在Table_A中,我有一个“Verantwortlicher”。该属性分别包含该人的姓氏和名字,即“Doe John”

在表_B中,我有两个属性“Lastname_NAM”和“Firstname_NAM”,它们当然分别包含一个人的姓氏和名字,即 “Lastname_NAM” - Doe “Firstname_NAM” - 约翰

Table_A有一个外键(Responsible_Emp_ID),它引用Table_B的主键(Emp_ID)

我想要的是加入这两个表,以便除了Table_A中的strig类型全名外,我还有一个该人的ID(当然来自Table_B)

我忘了提到我需要这些数据,所以我可以用上述键填充值。 Table_A是EMPTY。

我在使用T-SQL 请帮忙, 谢谢,D。

2 个答案:

答案 0 :(得分:0)

试试这个:

--Populate TableA
INSERT INTO TableA(Responsible_Emp_ID, Verantwortlicher) 
SELECT EmpID, FirstName + ' ' + LastName
FROM TableB B

--SELECT to join the 2 tables
SELECT B.EmpID, A.Verantwortlicher
FROM TableB B
INNER JOIN TableA A
    ON B.EmpID = A.Responsible_Emp_ID

--Just make the join
SELECT C.FullName, A.EmpID FROM
(SELECT FirstName + ' ' + LastName AS FullName
FROM TABLE B) C
INNER JOIN TableA A
    ON C.FullName = A.Verantwortlicher

答案 1 :(得分:0)

尝试以下代码

SELECT 
    B.EmpID, 
    ISNULL(A.Verantwortlicher,B.Firstname_NAM++B.Lastname_NAM) 
FROM 
    TableB B 
        LEFT JOIN TableA A 
            ON B.EmpID = A.Responsible_Emp_ID