Soundex nie nadaje się do tego typu rzeczy, ponieważ różne słowa mogą dać te same wyniki Soundex, a zatem będą sortować arbitralnie. Lepszym rozwiązaniem jest algorytm Levenshein Edit Distance, który możesz zaimplementować jako funkcję w swojej bazie danych:Link do Levensheint impl. jako funkcja przechowywana w MySql !!!
Możesz również sprawdzić ten link SO . Zawiera implementację algorytmu serwera Sql (specyficzną dla T-SQL), ale powinna być możliwa port. Mechanika algorytmu jest dość prosta, wymaga jedynie tablicy 2D i zapętlenia ciągu.