Faits: A. B._ Sàrl, à ..., se consacre au commerce des véhicules d'occasion. Le 19 décembre 2007, elle a acheté de A._ SA, à Sion, une pelle mécanique de marque Liebherr au prix de 90'000 francs. Utilisée durant près de trois cents heures au total, cette machine était presque neuve mais elle avait été endommagée par un acte de malveillance: quelqu'un avait introduit du sable et du gravier dans le réservoir et le circuit hydraulique. La maison Liebherr avait ensuite exécuté des travaux de réparation. B._ Sàrl était informée de ces faits; d'après la facture, elle achetait « en l'état, sans garantie ». Sous la raison de commerce individuelle « ... », C._ pratique le commerce des machines de chantier en Allemagne. Le 22 janvier 2008, B._ Sàrl lui a vendu la pelle mécanique au prix de 85'000 euros; un collaborateur de l'acheteuse avait préalablement pu mettre l'engin en marche et en actionner le bras. Le 29 du même mois, C._ a revendu cette machine à D._ GmbH au prix de 119'000 euros. La machine fut mise en service sur un chantier; elle y tomba en panne après une heure de fonctionnement en raison d'une grave défaillance du circuit hydraulique. La maison Liebherr en Allemagne examina la machine et proposa de la réparer moyennant 34'727 euros. Les frais furent d'abord pris en charge par C._, laquelle réclama sans succès d'être remboursée par B._ Sàrl. Le 29 mai 2008, elle fit notifier à sa cocontractante un commandement de payer au montant de 70'000 fr., avec intérêts au taux de 5% par an dès le 31 mars 2008. B. Le 25 juillet 2008, C._ a ouvert action contre B._ Sàrl devant le Tribunal civil de l'arrondissement de la Broye et du Nord vaudois. La défenderesse devait être condamnée à payer 67'359 fr.95 avec intérêts au taux de 5% par an dès le 31 janvier 2008; à concurrence de ces sommes, le tribunal était requis de donner mainlevée définitive de l'opposition au commandement de payer. La défenderesse a conclu au rejet de l'action. La demanderesse a par la suite modifié ses conclusions pour réclamer désormais 34'727 euros, avec suite d'intérêts selon la demande initiale. Le tribunal a entendu divers témoins puis il s'est prononcé le 2 février 2011. Accueillant l'action, il a condamné la défenderesse à payer 34'727 euros avec intérêts au taux de 5% par an dès le 31 janvier 2008; à concurrence de 56'573 fr.75 « en capital et intérêts », il a donné mainlevée définitive de l'opposition au commandement de payer. La Cour d'appel civile du Tribunal cantonal a statué le 24 août 2012 sur l'appel de la défenderesse. Elle a réformé le jugement. Selon sa décision, cette partie ne doit payer que 24'805 euros avec intérêts au taux de 5% par an dès le 31 janvier 2008; l'opposition au commandement de payer est levée à concurrence de 40'456 fr.95, avec intérêts au même taux et dès le même jour. C. Agissant par la voie du recours en matière civile, la défenderesse requiert le Tribunal fédéral de réformer l'arrêt de la Cour d'appel en ce sens que l'action soit entièrement rejetée. La demanderesse conclut au rejet du recours. 