Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: LEFT INNER JOIN >= 3

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
zzzzzz
Отправлено: 25 Ноября, 2013 - 20:17:49
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Здравствуйте.
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $psql1 = "SELECT *
  3.           FROM node
  4.           LEFT OUTER JOIN field_data_title ON node.nid = field_data_title.nid
  5.           LEFT OUTER JOIN field_data_category ON node.nid = field_data_category.nid
  6.           LEFT OUTER JOIN field_data_body  ON node.nid = field_data_body.nid
  7.           LEFT OUTER JOIN field_data_video ON node.nid = field_data_video.nid
  8.           WHERE node.type='1'
  9.           ORDER BY node.nid DESC";


Я сдался Огорчение
Запрос выдает ошибку Fatal error: Call to a member function fetch_assoc() on a non-object
Убираю одно из(любое) условий LEFT OUTER JOIN и выборка срабатывает.

Их что можно всего 3 раза использовать?

(Отредактировано автором: 25 Ноября, 2013 - 20:23:01)

 
 Top
caballero
Отправлено: 25 Ноября, 2013 - 20:30:00
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




если не писать кривой код то можно сколько угодно

в выражении должна быть указана таблица и поле а не что то одно


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
zzzzzz
Отправлено: 25 Ноября, 2013 - 20:33:39
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Все равно не знаю куда смотреть, укажите пожалуйста
 
 Top
caballero
Отправлено: 25 Ноября, 2013 - 20:42:07
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




по вашему коду ни фига не понятно где имена таблиц а где полей

в джойне должна быть указано таблица и через точку поле
как здесь: node.nid

у вас стоит только field_data_title


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
EuGen Администратор
Отправлено: 25 Ноября, 2013 - 20:50:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




zzzzzz
Проверьте в первую очередь синтаксис запроса - то есть, что он может быть выполнен СУБД. Подозреваю, что нет, и соответствующий обработчик драйвера возвращает что-нибудь наподобие false вместо объекта.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
zzzzzz
Отправлено: 25 Ноября, 2013 - 20:51:35
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




после ON же описываются поля по которым выбираются данные
(Добавление)
Синтаксис верен. ведь убрав любой join выборка срабатывает. Может я много прошу(байт) ?

(Отредактировано автором: 25 Ноября, 2013 - 20:54:34)

 
 Top
caballero
Отправлено: 25 Ноября, 2013 - 21:01:07
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




выполните этот запрос через phpБнadmin или типа того и увидите ошибку
еле выведите echo mysql_error();


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
zzzzzz
Отправлено: 25 Ноября, 2013 - 21:07:01
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
(Добавление)
мой английский подсказывает что надо менять настройки mysql. У меня нет доступа к ним

(Отредактировано автором: 25 Ноября, 2013 - 21:17:45)

 
 Top
EuGen Администратор
Отправлено: 25 Ноября, 2013 - 22:03:16
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Эта ошибка означает, что MySQL, во время расчёта плана запроса, попыталась соединить больше, чем max_join_size строк (суммарно на все JOIN, итоговое значение оценивается как произведение затронутых строк в каждой таблице).
Если эта настройка не изменена, то это означает, что Ваш запрос пытается затронуть более 4 млрд. строк. Вы можете отменить ограничение через

- однако, так как Ваш запрос затрагивает более 4 млрд. строк, я бы, на месте DBA, спросил: "Вы уверены"?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
zzzzzz
Отправлено: 26 Ноября, 2013 - 21:04:46
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Ответ найдет, помогли на sql.ru

Пишу для будущего поколения у которых окажется та же проблема.

Мой запрос оказался верный, неверным оказалось проектирование базы

Цитата пользователя miksoft имеющий на форуме 27000 сообщений Ниндзя : "Для начала, создайте индексы у всех таблиц field_data_* по полю nid".

Чтобы понять проблему необходимо почитать про индексы, для чего нужны и т.д и т.п
и соответственно как их добавлять
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB