如何根据总付费金额检索项目

时间:2014-05-15 11:10:30

标签: sql sql-server-2008

如何在SQL Server 2008 r2中添加多个值,并根据付费金额检测项目。

订单表:

OID           Item         Price
1              A            38
2              B            19
3              C            39.5

付款表:

PID              Amount
1                  38
2                  58.5

现在当查询类似

Select ItemName from A inner join B on OID=PID and Price=Amount;

此处我可以检索ItemA,但此查询不会返回项目B和C,因为 付款是这两项的总和。

1 个答案:

答案 0 :(得分:1)

您的表格结构错误。 你需要一个带有order_Id和Payment_Id的额外表。 像OID一样,PID表名是OrderPayment,然后使用这个Select语句

  

从A.PID = OrderPayment.PID

上的A.OID = OrderPayment.OID内部联接B中的OrderPayment内部联接A中选择A.ItemName