【问题标题】:Can't get Join working in my Sql Statement无法让 Join 在我的 Sql 语句中工作
【发布时间】:2012-12-26 09:43:29
【问题描述】:

我有两张桌子。

Transaction
------------
TransactionId
Date
Amount
Quantity
ProductCode
etc

-和-

Product
-----------
ProductId
Description
ProductCode
etc

我正在尝试创建一个存储过程,该过程将为我提供带有产品描述的交易。

到目前为止我有这个,但它甚至还没有接近编译。我不太了解 SQL 语法。

USE SuburbanPortal;
SELECT [CompanyCode]
      ,[Status]
      ,[Branch]
      ,[ProductCode]
      ,[TransactionBranch]
      ,[AccountNumber]
      ,[ReferenceNumber]
      ,[TransactionDate]
      ,[Quantity]
      ,[Amount]
      ,[SalesTax]
  FROM [Company].[Transaction]
  LEFT OUTER JOIN [Company].[Transaction] ON
    [Company].[Transaction].[ProductCode] = [Company].[Products].[ProductCode]

有人能指出正确的方向吗?

【问题讨论】:

  • 在您选择的列中添加[产品].Description ?

标签: sql sql-server join inner-join


【解决方案1】:

你为什么不使用INNER JOIN?此外,您将在[Transaction] 上加入[Transaction],而不是在[Product] 上加入[Transaction]

SELECT  T.ProductCode
        ,T.[Field1]
        ,T.[Field2]
        ,P.[Field1]
        ,P.[Field2]
FROM    [Company].[Transaction] T
        INNER JOIN [Company].[Product] P
            ON T.[ProductCode] = P.[ProductCode];

【讨论】:

  • k 现在对我来说很有意义,而且效果很好。感谢您为我澄清这一点!
  • @ErocM。快乐 - 不要忘记投票并标记为正确:)
  • 是的,必须等待 4 分钟。你现在得到了支持:) 再次感谢
【解决方案2】:

试试这个:

USE SuburbanPortal;
SELECT [CompanyCode]
      ,[Status]
      ,[Branch]
      ,p.[ProductCode]
      ,[TransactionBranch]
      ,[AccountNumber]
      ,[ReferenceNumber]
      ,[TransactionDate]
      ,[Quantity]
      ,[Amount]
      ,[SalesTax]
  FROM [Company].[Transaction] as t
  LEFT OUTER JOIN [Company].[Product] as p ON
    p.[ProductCode] = t.[ProductCode]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 2014-09-18
    • 1970-01-01
    相关资源
    最近更新 更多