SQL Query在Inner JOIN期间连接两列

时间:2012-03-22 18:09:59

标签: sql sql-server tsql join concatenation

我有表A和表B,表A有几列,包括A1和A2。表B也有几列。 我的查询要求我连接A1和A2中的值,然后在B1上进行内连接。

示例:

Select * 
From A
INNER JOIN B
ON CONCAT(A1,A2) = B1.

显然这不是它应该如何运作的。有人可以帮我解决一下这个问题吗?

感谢。

2 个答案:

答案 0 :(得分:15)

试试这个:

Select *  
From A 
INNER JOIN B 
ON A1 + A2 = B1

答案 1 :(得分:1)

Sample taken from

表格地理

region_name store_name
East    Boston
East    New York
West    Los Angeles
West    San Diego

示例1: 对于MySQL / Oracle:

    SELECT CONCAT(region_name,store_name) FROM Geography 
    WHERE store_name = 'Boston';
Result: 'EastBoston'

示例2: 对于Oracle:

    SELECT region_name || ' ' || store_name FROM Geography 
    WHERE store_name = 'Boston';
Result: 'East Boston'

示例3: 对于SQL Server:

    SELECT region_name + ' ' + store_name FROM Geography 
    WHERE store_name = 'Boston';
Result: 'East Boston'

从这开始,您可以适应两个表而没有太多问题。 如果有疑问,请使用虚拟表来提高可读性。

如果有疑问,请查看已回答的其他问题以获取更多详细信息。

StackOverFlow Similar Question