连接具有相同列名但具有不同数据缩写的两个表

时间:2014-05-19 15:50:33

标签: sql sql-server join

您好我有两张表A和表B.

表A有3列id,Location&名字

表B有3列id,location&地址

我需要加入这两个表。我知道我们可以使用位置表来加入。但在表A中,对于Eg位置的数据有像马里兰州,纽约等数据......

但是在表B中,位置是简短的形式,如MD,NY等......

我如何加入这个????

马里兰州 - 医学博士 纽约 - 纽约

3 个答案:

答案 0 :(得分:1)

您必须加入两个表之间的匹配键。

如果您可以在表中获得包含两个键的表,则可以将该表用作联结表。

I.E创建一个表,该表为表A中的键和表B中的键

JUNCTION TABLE(TableAKey,TableBKey)

然后,您可以通过此联结表

加入两个表

答案 1 :(得分:0)

SELECT *
FROM (SELECT *, CASE location WHEN 'Maryland' THEN 'MD'
                              WHEN 'New york' THEN 'NY'
                    END AS StateCode
     FROM  TABLE_A) A 
INNER JOIN TABLE_B B 
ON A.StateCode = B.location 

答案 2 :(得分:0)

查询将是

$ sql = SELECT A.id,A.location,A.name,B.id,B.location AS location_B,B.Address FROM TableA A INNER JOIN TableB B ON A.id = B.id&#34 ;;

您将从表A获得列名称的结果 - 位置和FROM表B,列名称= location_B

由于