I want to return MAX() of the lines for an order. Even though In my query I do Max(ln) it still returns the line number.
How would this query need to be set-up so that MAX() returns MAX()
Create Table #Test
(
ordernumber varchar(100)
,linenumber int
,item varchar(100)
)
Create Table #SaleData
(
ordernumber varchar(100)
,salesperson varchar(250)
)
Insert Into #Test Values
('ABC-123', 1, 'shoe'), ('ABC-123', 2, 'sock'), ('ABC-123', 3, 'cap'), ('ABC-123', 4, 'mit')
,('RST-111', 1, 'shoe'), ('RST-111', 2, 'shirt'), ('EEA-123', 1, 'ball')
Insert Into #SaleData Values
('ABC-123', 'Mitchell'), ('RST-111', 'Jason'), ('EEA-123', 'Bob')
Select
sd.Ordernumber
,MAX(t.LineNumber) As Maxln
,t.item
,t.linenumber
FROM #SaleData sd
Join #Test t
ON t.ordernumber = sd.ordernumber
GROUP BY sd.ordernumber, t.linenumber, t.item
What i'd like to have returned for max is below
ABC-123 4
EEA-123 1
RST-111 2
but i also need to return the other data.
This is using ms sql server 2016