Задавайте вопросы, мы ответим
Вы не зашли.
Помогите, разобраться в какую сторону рыть?
запрос на локоли выполняется без проблем
на системе денвер
выдает: не существует колонка
а на хостинге не выполняется
вот сам запрос
SELECT regions.name as regions, variantid, streets.name as streets, zone.name as zone,
moneyid.name as moneyid, santech.name as santech,
listid, fvalue, ftype, listparam_base.namebase_l, listparam_base.name as `name_param`
FROM v_enumtest,listparam_base
LEFT JOIN regions ON (v_enumtest.fvalue=regions.id and listid=2 )
LEFT JOIN streets ON v_enumtest.fvalue=streets.id and listid=3
LEFT JOIN zone ON (v_enumtest.fvalue=zone.id and listid=4 )
LEFT JOIN moneyid ON (v_enumtest.fvalue=moneyid.id and listid=33 )
LEFT JOIN santech ON (v_enumtest.fvalue=santech.id and listid=76 )
where v_enumtest.listid=listparam_base.id
and variantid in (518, 916, 1690, 2288, 2561, 2650, 2664, 2895, 2903, 2959, 3233, 3364, 3417, 3428, 3430)
and listid in (2,0,3,4,33,76,104,106,111,136,155)
Неактивен
попробуй regions.name as regions и другие as заменить отличными словами, например: regions.name as reg
(regions - это таблица у тебя?)
возможно на локе и на серве спользуются разнве версии мускла вот и ругается..
Неактивен
да regions это таблица
но он ругается на отсутсвии поля fvalue из базы v_enumtest
хотя она там есть если запросить SELECT * FROM v_enumtest
самое смешное что запрос работает на локале ан сервере в инете нет
Отредактированно KOM_29 (24.01.2008 20:43:26)
Неактивен
сравните SHOW CREATE TABVLE v_emuntest на локалхосте и на сервере
Неактивен
идентичны
Неактивен
попробуйте
SELECT fvalue FROM v_enumtest
Неактивен
так работает и показывает значения
и на локали работает
Неактивен
попробуйте сокращать запрос и довести его до наикратчайшего неработающего
Неактивен
Попробуйте не использовать в выражении конструкции, которые заведомо плохие
с точки зрения стандарта SQL.
Например, Ваши выражения внутри JOIN вводят меня в ступор. Возможно, сервер
умнее, но я бы на его месте обиделся
P.S. Хотя, известно, что старые версии MySQL к этому относились лояльно.
Неактивен
SELECT * FROM t1, t2 JOIN t3 ON (t1.i1 = t3.i3);
На ранних версиях MySQL такая конструкция работает, так как подразумевает неявную группировку - t1, t2 аналогично (t1, t2). Начиная с версии 5.0.12 оператор JOIN имеет приоритет, поэтому оператор ON действует на таблицы t2 и t3. Так как t1.i1 не принадлежит ни одной из объединяемых таблиц, то возникает ошибка Unknown column 't1.i1' in 'on clause'.
Для корректной работы нужно явно указать последовательность объединения с помощью круглых скобок:
SELECT * FROM (t1, t2) JOIN t3 ON (t1.i1 = t3.i3);
или переписать выражение через JOIN
SELECT * FROM t1 JOIN t2 JOIN t3 ON (t1.i1 = t3.i3);
Неактивен