Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Помогите составить SQL запрос


Recommended Posts

Нужно выбирать данные из 2-х таблиц одновременно и собрать в 1 таблицу.

 

Имеется

Table1 с полями Product_id, customer_group_id

Table2 с полями Product_id, model

 

Надо чтоб получилось из этого

Table3 с полями Product_id, customer_group_id, model

 

*Product_id повторяется в двух таблицах значения его одинаковые, поэтому один надо откинуть любой. То есть мне надо такой-же product_id как в первый таблицы найти во 2-ой и выбрать только колонку model его...

 

Я знаю что как-то колдуют несколькими SELECT'ami вложенными, или JOIN применяют, можно пример как это будет выглядеть?

 

Заранее спасибо.

 

я погуглил примеры, что-то как-то слишком заплетно показалось)))

Link to post
Share on other sites


$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "table1 t1 LEFT JOIN " . DB_PREFIX . "table2 t2 ON (t1.product_id=t2.product_id)");

  • +1 1
Link to post
Share on other sites

Спасибо понял! хорошо а если у обоих таблиц целая куча полей? и надо только эти поля? Таблица1 имеет вид Product_id, customer_group_id,xxxx,xxxx,xxxx,xxxx и Таблица2 имеет вид Product_id, model,yyyy,yyyy,yyyy,yyyy и надо их слить в один только с нужными полями? Чтоб получили мы Таблицу3 Product_id, customer_group_id, model, без всех других полей которые не надо, тут уже надо два SELECT'a юзать?

Link to post
Share on other sites

Осторожно! Я код поменял.

$query = $this->db->query("SELECT t1.Product_id, t1.customer_group_id, t2.model FROM " . DB_PREFIX . "table1 t1 LEFT JOIN " . DB_PREFIX . "table2 t2 ON (t1.product_id=t2.product_id)");
Нужно просто вместо звёздочки указать какие поля вы хотите выбрать, с учётом принадлежности к таблице.
  • +1 1
Link to post
Share on other sites

Вот я докрас так и пробовал)) поэтому задал вопрос, ошибка :)

 

Notice: Undefined index: moded in ..../catalog/controller/product/product.php on line 222Notice: Error: Column 'product_id' in field list is ambiguous
Error No: 1052
SELECT product_id, customer_group_id, model FROM product_special t1 LEFT JOIN product t2 ON (t1.product_id=t2.product_id) in ..../system/database/mysql.php on line 49

 

Не забываем говорить спасибо плюсиками не забываем  :oops:

Link to post
Share on other sites

У вас опечатка в запросе - moded  вместо model и прочитайте мой обновлённый код. Я его подправил

  • +1 1
Link to post
Share on other sites

Все большое спасибо! разобраться!

Link to post
Share on other sites

Название курса: SQL для ленивых.

 

Неленивые и умные изучают учебники http://www.sql.ru/docs/sql/u_sql/

А не выпрашивают все сделать за них.

 

Извините за грубость, но как-то стыдно вопрошать на форуме, когда в сети по SQL тучи учебников.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.