Originariamente inviato da 99eros9
inverti questi:
Telefoni.telefono, Fornitori.data_listino

e inserisci TOP 1 dopo SELECT, a meno che tu non stia usando mysql... in tal caso c'è Limit.
dovrebbe venire così:

SELECT TOP 1 Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo,
Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Fornitori.data_listino, Telefoni.telefono
FROM ((Prezzi INNER JOIN
Telefoni ON Prezzi.id_telefono = Telefoni.id_telefono) INNER JOIN
Fornitori ON Prezzi.id_fornitore = Fornitori.id_fornitore)
WHERE (Prezzi.prezzo =
(SELECT MIN(cdbl(prezzo)) AS minimo
FROM Prezzi Prezzi_1
WHERE (id_telefono = Telefoni.id_telefono) AND (cdbl(prezzo) > 0)))
ORDER BY Telefoni.telefono, Fornitori.data_listino DESC