MySQL запрос, выборка из таблиц

174
14 сентября 2018, 04:40

Имеется две таблицы: catalog, catalog_alias.

В catalog идёт список позиций с полями (все писать не буду смысла нет)

id, article, brand_id.

В catalog_alias

id, from_analog_article, from_brand_id, to_analog_article, to_brand_id

Сейчас запрос имеет вид: ЗАПРОС ИСПРАВИЛ !!!! (до этого был то что тестил, случайно вставил.)

select catalog.*,brands.name as brand_name,partners.name_original FROM catalog 
INNER JOIN brands ON brands.id = catalog.brand_id 
INNER JOIN partners ON partners.id IN (SELECT partner_id FROM pricelist WHERE id=catalog.pricelist_id) WHERE `article` = ''

Но он не использует catalog_alias.

Помогите переписать.

Данные имеют вид:

catalog:
article  brand_id 
oc121    104
7918     10
catalog_alias:
f_a_a  f_b_i  t_a_a  t_b_i
oc121  104    7918   10

Т.е по вводу 7918 или oc121 должен вывести одно и тоже. 2 строки (ну или более).

При этом даже если в catalog - отсутствует позиция с артикулом, но алиас на неё имеется он должен вывести строку. Пример удаляем из catalog oc121 и в запросе указываем его то бишь должен в итоге вывести позицию из catalog с артикулом 7918.

Answer 1

Из обсуждений в комментариях пришли к решению ниже:

select * from catalog join catalog_alias 
ON (catalog_alias.from_analog_article=catalog.article and catalog_alias.from_brand_id=catalog.brand_id) 
OR (catalog_alias.to_analog_article=catalog.article and catalog_alias.to_brand_id=catalog.brand_id) 
WHERE catalog_alias.to_analog_article='7918'
READ ALSO
Создать свой пагинатор на ангурял4

Создать свой пагинатор на ангурял4

Хочу создать свой пагинатор ( на вход количество страниц, на выход этот компонент должен выдавать текущую страницу)Я думал циклом вывести...

192
Размер изображения Monaco Editor

Размер изображения Monaco Editor

Можно ли в подсказки при редактировании css кода, в контексте класса или id, при добавлении background или background-image, и написании width: дальше появлялась...

183
Font Awesome HTML

Font Awesome HTML

Всем привет, помогите, пожалуйстаЕсть input[type='submit']

192
Bootstrap 4 Grids

Bootstrap 4 Grids

В данный момент этот кусок выходит так

180