Rauf Aliev (rauf) wrote,
Rauf Aliev
rauf

Иногда полезно посещать лекции по ИТ в нашем же…

Иногда полезно посещать лекции по ИТ в нашем же Технопарке от наших профи. Несмотря на то, что я давно уже не занимаюсь программированием и базами данных, есть вопросы, рушащие сложившуюся картину мира. Вот один из них - годовой давности, на который я вчера получил ответ: почему select * from a,b,c,d left join e on (a.f=e.f) не то же самое, что select * from a join b join c join d left join e on (a.f=e.f). Причем запрос работал в прежних версиях MySQL (первый), а теперь - выдает ошибку.

Ошибка исправляется переносом таблицы a в перечислении на место после d. И не исправляется только заменой перечисления на join-ы, если в on используется кроме a еще и, например, b или с.

Rauf Aliev Запрос выдает ошибку: ERROR 1054 (42S22) at line 1: Unknown column 'TABLENAME.FIELDTYPE' in 'on clause'. Теперь делаемтак: cat query | perl -i -npe "s/from (.*?), (.*?), (.*?), (.*?) left join/from \1 join \2 join \3 join \4 left join/g" | mysql databasename. Выдает результат - все ОК. А вы знаете, френды-программисты?


Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments