другими словами...
Misha v.3 06.10.2006 19:14
...вы заранее пытаетесь решать ещё не возникшую мизерную проблему (дублирование полей при join) введением избыточной информации в название полей? э-э-э. по моему это не правильный подход, т.к. в данном случае вносимая избыточность просто не окупает себя.
в случае join-ов ничего не помешает написать alias-ы (company.name AS company_name).
у меня подобных join с неоднозначностями меньше, чем обычных ситуаций (когда или запрос из одной таблицы или конфликта полей нет).
кроме того, в упомянутом случае (автор, фото, компания) при отображении списка авторов делать join таблицы с компаниями и получать таким образом ещё и название компании - по моему неправильно. авторов может быть 1000. компаний - всего 10. достать company_id, достать вторым мгновенным запросом список компаний в хеш и подставлять название компании парсером - плёвое дело. хотя не спорю, случаи когда подобные join нужны - бывают (но по моему это также и не photo + author, ибо для photo я например использую title, а не name. и я считаю что это название поля лучше подходит для данного случая).
в случае префиксов и простых join-ов мы вынуждены писать кучу алиасов (company_name AS name) чтобы не иметь некрасивого кода вида $company.company_name уже упомянутого Wonder-ом.
P.S. чувствую, за подобные префиксы ратуют личности, пишущие SELECT name.*, company.* ... ;)