Jump to content

Recommended Posts

Есть две таблицы

1. store_id, description, language_id

2. language_id, meta_h1

 

Вопрос одним запросом взять значение h1 из 2 ой таблицы а описание из первой имя config_language_id  и config_store_id.

Share this post


Link to post
Share on other sites

Видимо во второй  тоже есть store_id

 

Share this post


Link to post
Share on other sites

в том то и дело что нет, нужно показывать meta_h1 в независимости от store_id...

Share this post


Link to post
Share on other sites
Только что, zomo сказал:

в том то и дело что нет, нужно показывать meta_h1 в независимости от store_id...

так надо добавить
а иначе как вы его вытащите?
 

Share this post


Link to post
Share on other sites
32 minutes ago, zomo said:

Вопрос одним запросом взять значение h1 из 2 ой таблицы а описание из первой имя config_language_id  и config_store_id.

эм... так вроде бы так

SELECT
  meta_h1,
  description
FROM table_1 t1
  JOIN table_2 t2
    ON t1.language_id = t2.language_id
WHERE t1.language_id = 1
AND t1.store_id = 0

 

Share this post


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

так надо добавить
а иначе как вы его вытащите?
 

 

Он статический у страницы и завист только от языка, в то время как description меняется либо не отображается если его нет в конкретном магазине 

Share this post


Link to post
Share on other sites

Честно говоря, таблицы выглядят странно.

t2.meta_h1 и t1.description должны быть привязаны к какой то сущности (товар, категория, производитель, etc). А тут две независимые друг от друга таблицы без какого либо идентификатора позволяющего сделать объединение.

 

@100napb джойнить по language_id такое себе решение. Если конечно только description никак не должен быть связан meta_h1

Share this post


Link to post
Share on other sites

Нет связей так как это простая страница, не товара и не категории, где задается h1 и описания которое должно зависеть от магазина...

Чтобы не дублировать куча строк в одной таблице решил их разбить на две независимые а потом в каталоге 'склеить'

Share this post


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

эм... так вроде бы так

SELECT
  meta_h1,
  description
FROM table_1 t1
  JOIN table_2 t2
    ON t1.language_id = t2.language_id
WHERE t1.language_id = 1
AND t1.store_id = 0

 

Вариант хороший, но в таком случае если не указанно описание для магазина то и h1 который должен быть общий не отображается  

Share this post


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

Нет связей так как это простая страница, не товара и не категории, где задается h1 и описания которое должно зависеть от магазина...

Чтобы не дублировать куча строк в одной таблице решил их разбить на две независимые а потом в каталоге 'склеить'

а как вы хотите выводить на страницу тот или иной h1 и description?

 

Может быть вы расскажите детальнее что хотите сделать, а мы коллективным разумом подумаем))

Пока у нас нет единого идентификатора для двух таблицы, который бы позволил их склеить

Share this post


Link to post
Share on other sites

h1 никак не связан с магазином, он связан только с языком

Грубо говоря есть страница где есть список домов

Вот h1 для русского языка будет Дома, для английского Houses

 

Но так как это мультимагазин, то для каждого магазина будет свое описание данной страницы..

 

Например h1 - Дома , description Дома в Москве по хорошей цене

                  h1 - Дома, description Дома в Питере лучшие 

 

Описание зависит от магазина, а h1 зависит только от языка

Share this post


Link to post
Share on other sites

Что то мне подсказывает, что без общего идентификатора ваша идея нереализуема. Но может быть более опытные коллеги что то подскажут.

 

Share this post


Link to post
Share on other sites

 

1 hour ago, zomo said:

Вариант хороший, но в таком случае если не указанно описание для магазина то и h1 который должен быть общий не отображается

а.. теперь теплее.

в таком случае, может быть так?

 

SELECT
  (SELECT
      t2.meta_h1
    FROM table_2 t2
    WHERE t2.lang_id = 1) meta_h1,
  (SELECT
      description
    FROM table_1 t1
    WHERE t1.lang_id = 1
    AND t1.store_id = 2) descriptions
Spoiler

таблица 1

image.png.7f8361ff1b2907d61f31aace0d920261.png

 

таблица 2

 

image.png.20e0b9e9f081decd712c123471937396.png

 

результат

По желанию, Вы можете использовать функции-обертки для вложенных селектов - COALESCE или IFNULL, что бы избежать пустых результатов, заменив их на нечто "по-умолчанию"

image.png.1971512eabb733b5a0dc0213d1cd09ab.png

 

Edited by 100napb
  • +1 1

Share this post


Link to post
Share on other sites

Спасибо огромное в такой интерпретации все сработало!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.