![]() |
MySQL5 & vBulletin
Вопрос по sql:
Код:
Invalid SQL: Если вместо выделенного оставить только thread, то mysql не ругается, но если принудительно указать таблицу надо, тогда как? :confused: Да и тут как пример приведено: Код:
mysql> SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id; |
Madness
Вот исправление для этой траблы. |
А если FROM thread AS t сделать - не поможет? Может, майскл не может дублирование имени переварить?
|
BorLase
>А если FROM thread AS t сделать - не поможет? Нет. >Может, майскл не может дублирование имени переварить? Дублирование какого имени? Если столбца, дык для этого и написано что thread, а оно на это и ругается :( SergoZD Спасибо, но осадок остался. Непонятно почему запрос то ошибочным считается. |
Madness
А если префикс таблицы будет не пустой, работать будет или таже ошибка? Не будет работать, проверил... |
1. Можно попробовать использовать кавычки(`).
2. Непонятен смысл вот такой конструкции: thread AS thread, subscribethread AS subscribethread Ты создаешь alias таблицы, такой же как ее имя, если использовать везде имена, тогда не нужно вообще писать alias(tableName.fieldName), но тогда каждую таблицу в запросе нельзя будет использовать более одного раза, иначе возникнет неоднознаяная ситуация. |
Цитата:
FROM table1, table2 LEFT JOIN table3 ON ..... видимо, в условии ON можно использовать только т2 и т3 поля - но не т1 а было именно так. |
Запись:
select from t1, t2 эквивалентна записи: select from t1 inner join t2 on t1.field = t2.field |
BorLase
Да, похоже ты прав. Поменял местами таблицы во FROM и тоже заработало. Более придирчива 5-ая версия к синтаксису стала. Sheryld Эт не я, а Jelsoft Enterprises Ltd :P Да и нет в этом криминала... пока 6-ая версия mysql не выйдет :ржать: Всем спасибо. |
Часовой пояс GMT +4, время: 05:32. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.