2014-01-28 118 views
-3

我有一个表Brands(有关列是BrandName)和Products(有关列ProductName)。如何合并这两个列,以便在SELECT语句的结果的结构将是如何合并两个SQL Server表列?

BrandName - ProductName 

例如:如果BrandName是“金宝”和产品名称是“新英格兰杂烩”时,select声明应该返回

Campbell - New England Chowder 

这里是Products

SKU int PK 
ProdName char(10) 
Description varchar(max) 
BrandID int (FK) ... etc with other columns 

在这里,结构是Brands结构

BrandID int PK 
BrandName char(20) 
Logo varbinary 
+0

请显示示例数据和两个表的结构。 –

+0

您可以在这里分享你的数据库的结构:http://schemadeck.com/zqzzn6 – nathancahill

+2

不要使用'CHAR(N)'为可变长度的10个或更多字符的任意字符串 - 使用'VARCHAR(n)的'代替。我建议仅对最大字符串使用'CHAR(n)'。 3-5个字符都是相同的长度,例如ISO国家代码('USA','GER'等)或ISO货币代码或类似的东西 - 但从来没有其他的东西 –

回答

2

这将是这个查询 - 两个表之间的简单连接和名称的连接。我还使用RTRIM函数来删除多余的空格,因为您使用的是char数据类型。

SELECT RTRIM(b.BrandName) + ' - ' + RTRIM(p.ProductName) 
FROM Brands b 
INNER JOIN Products p ON b.BrandID = p.BrandID