Ancient general from Indian city taking one for a drink (8)
I believe the answer is:
agricola
'ancient general' is the definition.
(Roman general)
'indian city taking one for a drink' is the wordplay.
'indian city' becomes 'agra' (I've seen this before).
'taking' indicates putting letters inside.
'one' becomes 'i' (Roman numeral).
'for' says to put letters next to each other.
'a drink' becomes 'col' (I can't justify this - if you can you should believe this answer much more).
'i'+'col'='icol'
'agra' enclosing 'icol' is 'AGRICOLA'.
'from' is the link.
Can you help me to learn more?
(Other definitions for agricola that I've seen before include "Roman general who conquered much of Britain" , "Old general" , "Ancient soldier" .)