在SQL Server中创建视图

时间:2014-12-24 08:28:43

标签: sql sql-server database view sql-server-2012

我有两张桌子:

  • Contracts(ContactID,ContractNo,estimatedCost,CurrencyEstimatedCostID,ContractCost,CurrencyContractCostID)

  • CurrencyTypes(CurrencyID,CurrencyTypeName)。

我希望在视图中(在SQL Server视图中)查看带有CurrencyTypeName的合同表,而不是外键[{1}}和CurrencyEstimatedCostID

我使用此查询,但只返回CurrencyContractCostID的一列(我希望CurrencyTypeNameCurrencyEstimatedCostID各有一列。)

CurrencyContractCostID

如何更改查询?

1 个答案:

答案 0 :(得分:0)

不是100%确定我是否理解您正在尝试做的事情 - 但如果您有两列作为CurrencyTypes表中的外键,则需要加入两次:

SELECT 
    c.contractID, c.ContractNo, 
    EstimatedCostCurrency = ct1.CurrencyType, 
    ContractCostCurrency = ct2.CurrencyType
FROM 
    Contracts  c
INNER JOIN 
    CurrencyTypes ct1 ON c.CurrencyEstimatedCostID = ct1.CurrencyID
INNER JOIN 
    CurrencyTypes ct2 ON c.CurrencyContractCostID = ct2.CurrencyID