【问题标题】:Sql fetch data with joinsql通过join获取数据
【发布时间】:2016-08-17 13:31:55
【问题描述】:

这里有两个表TransactionRefundtransaction

我想使用 join 获取数据,应该获取重复数据。

我正在使用这个查询

select tr.transactionid, tr.customerid, tr.custname,
       rt.Amount, rt.Refund_Amount, rt.transactionid,   rt.referenceid
from Transaction tr 
left join RefundTransaction rt on rt.referenceid = tr.transactionid

它没有提供正确的数据。它不是从退款数据中选​​择重复数据

请帮忙 我在这里插入图片,您可以从中获得实际场景。

【问题讨论】:

  • 我认为对于提供的数据,您的查询可以正常工作。它将为匹配的 transactionID 选择重复的退款交易。唯一的变化是选择查询游览第一列应替换为 rt.transactionid。

标签: sql asp.net sql-server left-join


【解决方案1】:

这可以根据您的图像使用两者之间的内部连接简单地解决

SELECT t.transactionid, t.customerid, t.custname,
       rt.Amount, rt.Refund_Amount, rt.transactionid,   rt.referenceid
FROM TRANSACTION t
innerjoin [RefundTransaction ] rt ON rt.referenceid = t.transactionid

【讨论】:

    【解决方案2】:

    根据图片,您需要将TRANSACTION 表放在LEFT JOIN 中。那么只有你可以从RefundTransaction表中获取所有条目。

    SELECT rt.transactionid
        ,tr.customerid
        ,tr.custname
        ,tr.Amount AS Refund_Amount
        ,rt.transactionid
        ,rt.referenceid
        ,rt.Amount 
    FROM RefundTransaction rt
    LEFT JOIN [TRANSACTION] tr ON rt.referenceid = tr.transactionid
    

    【讨论】:

      【解决方案3】:

      如果要选择所有数据,则必须进行完全外部联接

      select tr.transactionid,  tr.customerid,  tr.custname,    rt.Amount, rt.Refund_Amount,   rt.transactionid,   rt.referenceid from Transaction tr full outer join RefundTransaction rt on rt.referenceid = tr.transactionid
      

      here你可以找到更多的加入信息

      【讨论】:

        【解决方案4】:

        你对连接的做法完全相反。

        这应该可行。

        select tr.transactionid, tr.customerid, tr.custname,
               rt.Amount, rt.Refund_Amount, rt.transactionid,   rt.referenceid
        from RefundTransaction tr left join
             Transaction rt
             on rt.referenceid = tr.transactionid
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多