我需要显示保存的每个客户的最后一个订单号(访问与VB.NET)查询:获取MAX()
例子:
表:客户
ID_CUST | CUSTOMER
100 | JOHN
101 | MARY
TABLE:ORDERS
ID_ORDER | NOTES | TOTAL | ID_CUST
1 | LOREM IPSUM | 100€ | 100
2 | PENDING | 300€ | 100
3 | BLA BLA | 400€ | 101
如果我执行此查询:
Select CUSTOMERS.ID_CUST, CUSTOMERS.CUSTOMER, MAX(ORDERS.ID_ORDER)
FROM CUSTOMERS INNER JOIN ORDERS ON CUSTOMERS.ID_CUST=ORDERS.ID_CUST
GROUP BY CUSTOMERS.ID_CUST, CUSTOMERS.CUSTOMER
工作正常。结果:
100 | JOHN | 2
101 | MARY | 3
问题是我还需要显示“注释”和“总计”字段。然后,如果我运行此:
Select CUSTOMERS.ID_CUST, CUSTOMERS.CUSTOMER, MAX(ORDERS.ID_ORDER), ORDERS.TOTAL, ORDERS.NOTES
FROM CUSTOMERS INNER JOIN ORDERS ON CUSTOMERS.ID_CUST=ORDERS.ID_CUST
GROUP BY CUSTOMERS.ID_CUST, CUSTOMERS.CUSTOMER,ORDERS.TOTAL, ORDERS.NOTES
结果不是我所需要的[错误]:
100 | JOHN | 1 | LOREM IPSUM | 100€
100 | JOHN | 2 | PENDING | 300€ | 100
101 | MARY | 3 | BLA BLA | 400€
,因为如果我不包括这两个领域,“笔记”,“全面”,在的“GROUP BY”,查询将返回错误:不包括指定的表达式作为集合功能的一部分
UPDATE 1:
我从vb.net程序运行此查询
没有为一个向导这个。 – Fionnuala 2015-03-13 13:09:18
那么在结果中你想要什么'Notes'? – PaulFrancis 2015-03-13 13:10:02
PaulFrancis:因为我的客户想要它那样 – kontable 2015-03-13 15:11:06