我一直在努力使用SQL Server查询一段时间,并意识到我必须从知道SQL Server(很多)的人那里得到更多帮助。从SQL Server中获取最大值加入
环境:SQL Server 2008中
SELECT
t1.SUPPL_ORDERNO,
t2.OUR_ORDER,
t3.CUST_INVOICE
FROM t1
LEFT OUTER JOIN t2
ON t1.SUPPL_ORDERNO = t2.ORDER_REM5
LEFT OUTER JOIN t3
ON t2.ORDER_REM5 = t3.INV_REM5
GROUP BY t1.SUPPL_ORDERNO, t2.OUR_ORDER, t3.CUST_INVOICE
ORDER BY t1.SUPPL_ORDERNO,t3.CUST_INVOICE
这是结果我用上面的查询得到:
SUPPL_ORDERNO OUR_ORDER CUST_INVOICE
------------------------------ --------- ------------
143914 64228 179890
143914 64228 179935
143914 64228 179995
143914 64228 179999
143914 64228 180067
143914 64228 180148
326042
326052 64549 180219
326086 64633
我得到每个SUPPL_ORDERNO
和OUR_ORDER
组合的多个CUST_INVOICE
但我只想要回最新的CUST_INVOICE
(=最大的发票号码)。
这是我想要返回的结果:
SUPPL_ORDERNO OUR_ORDER CUST_INVOICE
------------------------------ --------- ------------
143914 64228 180148
326042
326052 64549 180219
326086 64633
摘要:
- 如果有超过一(1)
CUST_INVOICE
因为我只想展现SUPPL_ORDERNO
和OUR_ORDER
组合CUST_INVOICE
与最大数 - 如果没有
OUR_ORDER
和否CUST_INVOICE
我希望它显示为空 - ,如果有一个
OUR_ORDER
没有CUST_INVOICE
我想它显示为空
任何帮助,将不胜感激!