Разница между «have already had» и «have already» в английской грамматике заключается в том, что они означают разные вещи. 1
«Have already had» указывает на то, что что-то уже было в прошлом. 23 Например: «I’ve already had one» (они уже съели торт). 1
«Have already», в свою очередь, говорит о том, что что-то уже есть в настоящем. 25 Например: «I already have one» (они ещё не ели торт). 1
Таким образом, «have already» обозначает текущее состояние, а «have already had» — прошлое. 23