Mejor le hubieras preguntado en avance cuánto va a costar.

[details=“English Translation”]You had better ask him in advance how much it will cost.[/details] it would have been better if you’d asked him in advance how much it would cost

1 Like

I believe the original translation is correct:

You’d better ask him in advance how much it’s going to cost.

We use the subjunctive mood in English to talk about the future, i.e. you had better, in a very similar way to Spanish.

I’m afraid I disagree; in my view the Spanish is reasoning about a past event whereas the English is advice about something that’s still ongoing.

That said, the Spanish is confusing because it mixes past and present (or future).

It’s is confusing! I found some examples sentences with translations on ReversoContext.

Mejor te hubiera llamado diciendo que estaba enferma en vez de la verdad.
I can’t believe I didn’t just call in sick instead of telling you the truth.

This first example is talking quite clearly about a hypothetical event in the past.

Yo creo que mejor te hubieras quedado con nosotros.
I think you had better stay with us.

Whereas this second example is referring to a possible future event.

Mejor te hubieras guardado ese dinero para ti.
You’d have done better keeping the money for yourself.

This third example refers to the past.

So, it looks like this structure can be used to refer to both past and future hypothetical situations. One thing that still makes me think that the cloze sentence is referring to the future is “va a costar”, i.e. how much it is going to cost. … how much it would cost., I’d imagine translated as … cuánta iba a costar.

I wonder if the confusion arises due to many translators mistaking “had” for past tense, not subjunctive.

I’m going to stick to “mejor le preguntes” or “sería mejor que le preguntaras” for the present case.

When I come across an example of this structure in real life, my head will probably explode with relief.

1 Like

would ‘iba’ have worked better here than ‘va’?

I would say so, or “costaría”.