imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 25.11.2005, 12:43     # 1
Madness
KpTeaM
 
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261

Madness СуперБогMadness СуперБогMadness СуперБог
Madness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБог
MySQL5 & vBulletin

Вопрос по sql:
Код:
Invalid SQL: 
	SELECT thread.threadid, thread.forumid
	FROM thread AS thread, subscribethread AS subscribethread
	LEFT JOIN deletionlog AS deletionlog ON(deletionlog.primaryid = thread.threadid AND type = 'thread')
	WHERE subscribethread.threadid = thread.threadid
	AND subscribethread.userid = 14580
	AND thread.visible = 1
	AND lastpost > 1132908684
	AND deletionlog.primaryid IS NULL

mysql error: Unknown column 'thread.threadid' in 'on clause'
Говорят, что Хелл поставил у нас тут 5-ую версию mysql, терь вот такая фигня стала вылазить в usercp. У меня вот вопрос к всезнающему All, в запросе ли ошибка?
Если вместо выделенного оставить только thread, то mysql не ругается, но если принудительно указать таблицу надо, тогда как?
Да и тут как пример приведено:
Код:
mysql> SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;
__________________
Над струнами вен моих
Лезвия осени,
Их сталь леденящая
В просинь рук просится...
©Темнозорь
Madness вне форума  
Старый 25.11.2005, 13:06     # 2
SergoZD
::VIP::
 
Регистрация: 19.10.2003
Адрес: Питер
Пол: Male
Сообщения: 1 467

SergoZD Простой бог
SergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой бог
Madness
Вот исправление для этой траблы.

Последний раз редактировалось SergoZD; 25.11.2005 в 13:12.
SergoZD вне форума  
Старый 25.11.2005, 13:11     # 3
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
А если FROM thread AS t сделать - не поможет? Может, майскл не может дублирование имени переварить?
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 25.11.2005, 13:22     # 4
Madness
KpTeaM
 
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261

Madness СуперБогMadness СуперБогMadness СуперБог
Madness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБог
BorLase
>А если FROM thread AS t сделать - не поможет?
Нет.

>Может, майскл не может дублирование имени переварить?
Дублирование какого имени? Если столбца, дык для этого и написано что thread, а оно на это и ругается

SergoZD
Спасибо, но осадок остался. Непонятно почему запрос то ошибочным считается.
__________________
Над струнами вен моих
Лезвия осени,
Их сталь леденящая
В просинь рук просится...
©Темнозорь
Madness вне форума  
Старый 25.11.2005, 13:31     # 5
SergoZD
::VIP::
 
Регистрация: 19.10.2003
Адрес: Питер
Пол: Male
Сообщения: 1 467

SergoZD Простой бог
SergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой бог
Madness
А если префикс таблицы будет не пустой, работать будет или таже ошибка?

Не будет работать, проверил...

Последний раз редактировалось SergoZD; 25.11.2005 в 14:20.
SergoZD вне форума  
Старый 25.11.2005, 13:33     # 6
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
1. Можно попробовать использовать кавычки(`).
2. Непонятен смысл вот такой конструкции:

thread AS thread, subscribethread AS subscribethread

Ты создаешь alias таблицы, такой же как ее имя, если использовать везде имена, тогда не нужно вообще писать alias(tableName.fieldName), но тогда каждую таблицу в запросе нельзя будет использовать более одного раза, иначе возникнет неоднознаяная ситуация.
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 25.11.2005, 13:34     # 7
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
Цитата:
Сообщение от Madness
Непонятно почему запрос то ошибочным считается.
кажется, я догадываюсь, почему...

FROM
table1,
table2 LEFT JOIN table3 ON .....

видимо, в условии ON можно использовать только т2 и т3 поля - но не т1

а было именно так.
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 25.11.2005, 13:38     # 8
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
Запись:

select from t1, t2

эквивалентна записи:

select from t1
inner join t2
on t1.field = t2.field
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 25.11.2005, 14:15     # 9
Madness
KpTeaM
 
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261

Madness СуперБогMadness СуперБогMadness СуперБог
Madness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБогMadness СуперБог
BorLase
Да, похоже ты прав. Поменял местами таблицы во FROM и тоже заработало.
Более придирчива 5-ая версия к синтаксису стала.

Sheryld
Эт не я, а Jelsoft Enterprises Ltd :P Да и нет в этом криминала... пока 6-ая версия mysql не выйдет

Всем спасибо.
__________________
Над струнами вен моих
Лезвия осени,
Их сталь леденящая
В просинь рук просится...
©Темнозорь
Madness вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:30.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.