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

Как объединить 2 sql запроса?


Recommended Posts

Не хватает понимания как правильно выполнить запрос.
Есть 2 запроса, оба они делают то что мне нужно. 

 

Грубо говоря, первый выбирает товары дочернных категорий
Второй выбирает товары которые находятся в главной категории 415


Но возникла необходимость выполнять 2 запроса одновременно, хочу их объединить.

SELECT * FROM oc_product p LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN oc_typefishing_category tc ON (p2c.category_id = tc.category_id) WHERE tc.typefishing_id = '415' AND p.status = '1'
SELECT * FROM oc_product p LEFT JOIN oc_product_to_typefishing p2f ON (p.product_id = p2f.product_id) WHERE p2f.typefishing_id = '415' AND p.status = '1'


Пробовал сделать вот так, но нет

SELECT * FROM oc_product p LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN oc_typefishing_category tc ON (p2c.category_id = tc.category_id) LEFT JOIN oc_product_to_typefishing p2f ON (p.product_id = p2f.product_id) WHERE tc.typefishing_id = '415' AND p.status = '1'

 

Edited by Seofisher
Link to post
Share on other sites

А вы уверены, что есть данные соответствующие этой выборке?

Link to post
Share on other sites

6 минут назад, n3bo сказал:

А вы уверены, что есть данные соответствующие этой выборке?

Вы имеете ввиду что третий запрос правильный?

По первому и второму запросу есть правильные данные (разные), по третьему запросу - данные только те которые выбирает первый запрос.

Edited by Seofisher
Link to post
Share on other sites
3 минуты назад, chukcha сказал:

union
 

Что Вы имеете ввиду?

Link to post
Share on other sites

Я имею ввиду, то что я сказал, ві просили объединить, я вам сказал как

А запросы сами не смотрел

Link to post
Share on other sites
14 минут назад, chukcha сказал:

Я имею ввиду, то что я сказал, ві просили объединить, я вам сказал как

#1222 - Использованные операторы выборки (SELECT) дают разное количество столбцов

Link to post
Share on other sites
14 минут назад, chukcha сказал:

Ну так выравнивайте по количеству.

А что сделать с #1052 - Столбец 'product_id' в field list задан неоднозначно

Link to post
Share on other sites
2 минуты назад, chukcha сказал:

мне за вас написать запрос?

Спасибо. написал "Столбец 'product_id' в field list задан неоднозначно" потому что не пойму что сделать с этим. В гугле и не нашел решения...

Link to post
Share on other sites

Вроде как разобрался с запросом...
 

SELECT p.product_id, p.image, p.price FROM oc_product p LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN oc_typefishing_category tc ON (p2c.category_id = tc.category_id) WHERE tc.typefishing_id = '415' AND p.status = '1' UNION ALL SELECT p.product_id, p.image, p.price FROM oc_product p LEFT JOIN oc_product_to_typefishing p2f ON (p.product_id = p2f.product_id) WHERE p2f.typefishing_id = '415' AND p.status = '1'

Столбец 'product_id' в field list задан неоднозначно решил путем добавления префикса p.product_id


@chukcha Спасибо за union!

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.