如何限制SQL查询中的字段

时间:2014-04-25 20:02:27

标签: sql sql-server

我必须运行查询,我应该找到特定产品的销售金额和帐单数量。在我的表中,我有字段billID,描述(产品的名称)和金额(这是销售的美元金额)。我的问题是,我必须找到特定产品的销售时间,而不是另一个产品。例如:如果我卖双汉堡肉汁和薯条之类的东西可能会出现在同一张单中,但它们不收取额外费用,因此它们在billID中显示为0.00。但是,如果客户在双汉堡之外订购单个汉堡,则会有两个不同的商品在同一个billID下收费。我想知道如何只计算那些在billID中包含“双重汉堡”的账单,而不是其他任何可以收费的产品。我希望你能帮助我。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

以下基本上说返回所有BIllID本身就是'双汉堡'或者在同一张账单上有多个条目,但所有这些条目都是0美元的费用。

销售金额为<>的任何记录。 0会产生但是在T2.BillId中有一个'双汉堡'和一个非双汉堡条目,那些将被排除在外。

SELECT T1.BillID
FROM TABLE T1
LEFT JOIN table2 T2
  on T1.BillID = T2.BillId 
  and T1.Description = 'double burger'
  and t2.descirption <> 'double burger'
  and t1.description <> t2.description
  AND t2.SaleAmount <> 0
 Where T2.BillID is null

所以从一个概念:

  • 返回所有'双汉堡'套装。
  • 返回所有具有双倍汉堡和非双重汉堡的票据,并且非双倍汉堡销售量> 0
  • 现在排除那些具有非双重汉堡销售额&gt;的billID。原始集合中的0。