我有两张桌子。其中一张列出了我商店的顾客号码、他们买的商品、他们买的日期以及他们支付的价格。
我有第二个表,其中列出了我的商店的客户号码、他们返回的商品、退货日期以及他们收到的信用。
显然,并不是所有的销售都有信用。
我想返回如下结果:
Customer1, Item1, Date, Price, Blank
Customer1, Item2, Date, Price, Credit
Customer1, Item3, Date, Price, Blank
Customer1, Item4, Date, Price, Blank
Customer2, Item1, Date, Price, Blank
Customer2, Item2, Date, Price, Blank
Customer2, Item3, Date, Price, Credit等。
如果我加入了客户号上的表,它将返回我:
Customer1, Item1, Date, Price, Credit
Customer1, Item2, Date, Price, Credit
Customer1, Item3, Date, Price, Credit
Customer1, Item4, Date, Price, Credit
Customer2, Item1, Date, Price, Credit
Customer2, Item2, Date, Price, Credit
Customer2, Item3, Date, Price, Credit如果我加入项目上的表并按客户号排序,它将返回gobbledygook。
我的想法是加入客户号码并在条件中使用IIf(Sales.Item1=Credits.Item1, Credit, 0),但是我得到了一个错误:“您试图执行一个查询.这不是聚合表达式的一部分”。
我做错了什么?
发布于 2016-02-05 03:25:18
假设您在没有销售的情况下将没有回报,请尝试以下查询:
SELECT Sales.Customer, Sales.Item, Sales.Sale_Date, Sales.Sale_Price,
Credits.Credit_Date, Credits.Credit_Price,
IIf(IsDate([Credits].[Credit_Date]),"Credit","Blank") AS Result
FROM Sales LEFT JOIN Credits ON (Sales.Customer = Credits.Customer)
AND (Sales.Item = Credits.Item);根据需要在IIF报表(信用或空白)中定义您的值。您还可以隐藏字段Credits.Credit_Date、Credits.Credit_Price,因此输出将完全符合所需。
https://stackoverflow.com/questions/35204268
复制相似问题