People have different ideas of how to search for the same term.
For example Tri-Valley, Trivalley, Tri Valley (and possibly even incorrect spellings)
Currently that search is done like this
SELECT * FROM `table` WHERE `SchoolDistrict` LIKE '%tri valley%';
Is there an easy way to say ‘space dash or no space’ without writing out three like statements?
It seems like it could easily be done:
SELECT * FROM `table` WHERE `SchoolDistrict` LIKE '%tri%valley%';
But this only works if the initial input is ‘tri-valley’ or ‘tri valley’ If the initial input is ‘trivalley’ I have no idea where to place the % (theoretically that is, actually, I do, as we are only looking at about a dozen different school districts, but I’m looking to solve the larger problem)
You could consider using SOUNDEX, or SOUNDS LIKE if you have a lot of incorrect spellings. If you’ve got a lot of rows (or even if you don’t), it might be wise to store the output of the
SOUNDEXin an additional column.I’d also recommend — in the interests of accuracy — introducing a separate table with an authoritative list of school districts, and run a query to find those which aren’t in that list.