我的Table_A
有一列:'FullName',columnB,..和其他列
我的Table_B
有列:'FirstName','LastName','Job_OID'
显然,如果我们加入FirstName
和LastName
的字符,则会匹配Full_Name
。
这是这两个表之间唯一的共同点!
问题:当Table_A中的全名是“John Smith”时,我想从table_B中获取他的Job_OID。
用简单的语言, 从table_B中选择job_oid('FirstName'+'LastName')= Table_A.FullName;
答案 0 :(得分:1)
试试这个:
SELECT job_oid
FROM table_B
JOIN Table_A ON Table_A.FullName = Table_B.FirstName+' '+TableB.LastName
答案 1 :(得分:1)
您也可以这样编写查询:
SELECT B.job_oid
FROM Table_A A
INNER JOIN table_B B ON A.FullName = CONCAT(B.FirstName, ' ', B.LastName)
答案 2 :(得分:0)
我认为,您必须规范化您的数据库,但如果不可能,您可以编写以下查询:
SELECT B.*
FROM Table_B B
WHERE EXISTS
(SELECT 'PERSON'
FROM Table_A A
WHERE B.FirstName + ' ' + B.LastName = A.FullName)
您可以使用JOIN
这样的命令:
SELECT B.*
FROM Table_B B
JOIN Table_A A
ON B.FirstName + ' ' + B.LastName = A.FullName
因此,通过这种方式,您可以链接两个表,其中包含两个字段(Table_B的FirstName和LastName)的串联,FullName存储在Table_A中