Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Объединить таблицы без Left join


Recommended Posts

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

1. store_id, description, language_id

2. language_id, meta_h1

 

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

Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах

Только что, zomo сказал:

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

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

Надіслати
Поділитися на інших сайтах

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

 

Надіслати
Поділитися на інших сайтах

15 минут назад, chukcha сказал:

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

 

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

Надіслати
Поділитися на інших сайтах

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

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

 

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

Надіслати
Поділитися на інших сайтах


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

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

Надіслати
Поділитися на інших сайтах

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 который должен быть общий не отображается  

Надіслати
Поділитися на інших сайтах

5 минут назад, zomo сказал:

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

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

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

 

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

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

Надіслати
Поділитися на інших сайтах


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

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

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

 

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

 

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

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

 

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

Надіслати
Поділитися на інших сайтах

 

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

 

Змінено користувачем 100napb
  • +1 1
Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.