【发布时间】:2013-09-06 20:53:37
【问题描述】:
我有三个表(没有创建数据库)。它们本质上相同,但数据略有不同,它们有 Company_Id 和 Category_Id。我还想将类别名称链接到此表,所以我必须加入类别。 在加入之前这个工作
Select Distinct CompanyId, Category_ID From Product1 where Product1.CompanyId = 10
union
Select Distinct Distinct CompanyId, Category_ID From Product2 where Product2.CompanyId = 10
union
Select Distinct Distinct CompanyId, Category_ID From Product3 where Product3.CompanyId = 10
这为我提供了基于产品 ID 的不同产品和类别列表。
我现在需要将类别名称添加到类别表中。我试过了:
Select Distinct CompanyId, Category_ID From Product1 where Product1.CompanyId = 10
inner join Category on Category.Id=Product1.Category_ID
union
Select Distinct Distinct CompanyId, Category_ID From Product2 where Product2.CompanyId = 10
inner join Category on Category.Id=Product2.Category_ID
union
Select Distinct Distinct CompanyId, Category_ID From Product3 where Product3.CompanyId = 10
inner join Category on Category.Id=Product3.Category_ID
但是返回 无法绑定多部分标识符“Company.CATEGORY_ID”。
有什么方法可以只显示所有 3 个表中具有类别名称的不同项目?
(所以如果 product1 和 product2 都有一个 Company_ID = 10 的产品,并且有两个类别,它只会显示两次)
【问题讨论】:
标签: sql sql-server tsql join