SAMPLE DATA
Suppose I have table like this:
No Company Vendor Code Date
1 C1 V1 C1 2016-03-08
1 C1 V1 C1 2016-03-07
1 C1 V1 C2 2016-03-06
DESIRED OUPUT
Desired output should be:
No Company Vendor Code Date
1 C1 V1 C1 2016-03-08
It should take max Date
for No, Company, Vendor
(group by these columns). But shouldn't group by Code
, It have to be taken for that Date
.
QUERY
SQL query like:
.....
LEFT JOIN (
SELECT No_, Company, Vendor, Code, MAX(Date)
FROM tbl
GROUP BY No_, Company, Vendor, Code
) t2 ON t1.Company = t2.Company and t1.No_ = t2.No_
.....
OUTPUT FOR NOW
But I got output for now:
No Company Vendor Code Date
1 C1 V1 C1 2016-03-08
1 C1 V1 C2 2016-03-06
That because Code
records are different, but It should take C1 code in this case (because No, Company, Vendor match
)
WHAT I'VE TRIED
I've tried to remove Code
from GROUP BY
clause and use SELECT MAX(Code)...
, but this is wrong that because It take higher Code
by alphabetic.
Have you ideas how can I achieve It? If something not clear I can explain more.