Нужен SQL-запрос для поиска результатов, соединяющих две таблицы, но сравнивающих несколько строк во второй таблице - PullRequest
0 голосов
/ 25 марта 2019

Ниже приведены две таблицы примеров

Таблица: пост

id  title       desc             status
1   test        testdesc         active
2   test1       testdesc2        active

Таблица: post_meta

 id     post_id         meta_key          meta_value
 1        1             _customer_user    342
 2        1             date_registered   2019-03-21
 3        2             _customer_user    342
 4        2             date_registered   2019-03-22

Я хочу, чтобы SQL-запрос нашел тех, кто зарегистрирован 2019-03-21 и активен. Хотите результат, как показано ниже.

id  cusomerid   registered_date   
1    342         2019-03-21

1 Ответ

1 голос
/ 25 марта 2019

Вы можете попробовать ниже -

ДЕМО

select a.id, b.meta_Value as customerid, b1.meta_value as registrationdate
from post a left join post_meta b 
on a.id=b.post_id and b.meta_key='_customer_user'
left join post_meta b1 
on a.id=b1.post_id and b1.meta_key='date_registered'
where status='active' and b1.meta_value='2019-03-21'

ВЫХОД:

id  customerid  registrationdate
1   342         2019-03-21
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...