我正在尝试从2个表中提取数据:
•DolfinRMSCum.dbo.tSupplier
•DolfinRMSCum.dbo.tSupplierType
两个列都有一个公共字段和值<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.min.js"></script>
,因此Join
但是我想在查询中查看SupplierTypeCode
中的Description列值
DolfinRMSCum.dbo.tSupplierType
收到以下错误:
Msg 4104,第16级,状态1,第17行
不能绑定多部分标识符“ DolfinRMSCum.dbo.tSupplier.SupplierTypeCode”。
我尝试在Join中使用别名,但没有成功,如下所示:
> Select Supplier.SupplierNumber as [Dolfin Code]
> ,Supplier.SagesupplierCode as [Sage Code]
> ,Supplier.SupplierName as Name
> ,Supplier.PrimaryTel as Tel
> ,Supplier.PrimaryFax as Fax
> ,Supplier.PrimaryContact as Contact
> ,Supplier.SupplierTypeCode as [Supplier Type]
> ,DolfinRMSCum.dbo.tSupplierType.Description as [Type Description]
> ,Supplier.Add1 as [Add 1]
> ,Supplier.Add2 as [Add 2]
> ,Supplier.Add3 as [Add 3]
> ,Supplier.Add4 as [Add 4]
> ,Supplier.CountryCode as Country
> ,Supplier.CurrencyCode as Currency
> FROM DolfinRMSCum.dbo.tSupplier as Supplier,DolfinRMSCum.dbo.tSupplierType as SupplierType
> full outer join DolfinRMSCum.dbo.tSupplierType
> on DolfinRMSCum.dbo.tSupplier.SupplierTypeCode =
> DolfinRMSCum.dbo.tSupplierType.SupplierTypeCode
> where Deactivated=0
答案 0 :(得分:1)
DolfinRMSCum.dbo.tSupplierType
在FROM
子句中使用了两次。可以说一次就足够了。另外,如果您要应用表别名,那么也可以在SELECT
语句中使用相同的别名。
您可以尝试以下查询吗?
SELECT
Supplier.SupplierNumber as [Dolfin Code]
,Supplier.SagesupplierCode as [Sage Code]
,Supplier.SupplierName as Name
,Supplier.PrimaryTel as Tel
,Supplier.PrimaryFax as Fax
,Supplier.PrimaryContact as Contact
,Supplier.SupplierTypeCode as [Supplier Type]
,SupplierType.Description as [Type Description]
,Supplier.Add1 as [Add 1]
,Supplier.Add2 as [Add 2]
,Supplier.Add3 as [Add 3]
,Supplier.Add4 as [Add 4]
,Supplier.CountryCode as Country
,Supplier.CurrencyCode as Currency
FROM DolfinRMSCum.dbo.tSupplier AS Supplier
FULL OUTER JOIN DolfinRMSCum.dbo.tSupplierType AS SupplierType ON SupplierType.SupplierTypeCode = Supplier.SupplierTypeCode
WHERE Deactivated = 0