Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2014, 11:38   #1
MaGWaY_minsk
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 35
По умолчанию Запрос к БД с использованием LEFT JOIN

Добрый день дорогие эксперты, профессионалы и любители.
Помогите вкурить как сделать правильно, или как сделать что б вообще работало.

Есть запрос к БД (OpenCart).
PHP код:
$sql "SELECT p.*,pd.*,p2c.product_id product_id2 FROM " DB_PREFIX "product p LEFT JOIN " DB_PREFIX 
"product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " DB_PREFIX 
"product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "'"
К нему нужно добавить еще одно поле ( oc_manufacturer.name )
Связаны они с главной таблицей по ID ( oc_product.manufacturer_id = oc_manufacturer.manufacturer_id)

Пожалуйста, помогите подправить запрос.

Последний раз редактировалось MaGWaY_minsk; 07.02.2014 в 11:40.
MaGWaY_minsk вне форума Ответить с цитированием
Старый 07.02.2014, 11:44   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А что делать собираетесь в этом UPDATE с полем из другой таблицы?

ADD

О_о. SELECT объявился. Ну добавьте еще один LEFT JOIN по образу и подобию. И сам запрос плохой. Зачем product_description засунули в LEFT JOIN, если на нем сидит основное условие выборки?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 07.02.2014 в 12:01.
Аватар вне форума Ответить с цитированием
Старый 07.02.2014, 13:44   #3
MaGWaY_minsk
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А что делать собираетесь в этом UPDATE с полем из другой таблицы?

ADD

О_о. SELECT объявился. Ну добавьте еще один LEFT JOIN по образу и подобию. И сам запрос плохой. Зачем product_description засунули в LEFT JOIN, если на нем сидит основное условие выборки?
Сорри, в начале вставил не тот запрос. А Сами запросы не мои - модуль для OpenCart quickerproeditor.
MaGWaY_minsk вне форума Ответить с цитированием
Старый 07.02.2014, 13:54   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну если есть возможность еще через LEFT JOIN прицепить таблицу, то можно и по-эффективней запрос сделать, примерно в этом направлении
Код:
SELECT ..., ma.name
  FROM product_description pd,product p
    LEFT JOIN product_to_category p2c ON p.product_id = p2c.product_id
    LEFT JOIN manufacturer ma ON p.manufacturer_id = ma.manufacturer_id
  WHERE pd.language_id = чего-то AND p.product_id = pd.product_id
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.02.2014, 13:58   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а почему LEFT JOIN ?
eval вне форума Ответить с цитированием
Старый 07.02.2014, 14:16   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это ко мне? ТС так нужно, вроде. Один LEFT убрал. Вполне возможно, что и другие можно в конкретном случае. Еще эффективней будет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.02.2014, 15:24   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

нет, автору коечно
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LEFT JOIN kuba1981 SQL, базы данных 3 21.11.2013 08:00
Left join in Linq romeo.colder C# (си шарп) 0 08.01.2013 11:52
left join kilogram SQL, базы данных 5 14.07.2012 05:13
запрос с left join KatrinSecret SQL, базы данных 2 18.01.2012 22:31
LEFT JOIN acidcool SQL, базы данных 12 20.08.2009 19:23