@Dizzy221
PHP Программист

Как сформировать такой SQL запрос?

Есть таблицы:
1. shop_order (id, contact_id,state_id)
2. contact_data (id, contact_id, field, value)

Вторая таблица имеет следующий вид:
id | contact_id | field | value
1 | 25 | phone | 89167777777
2 | 25 | city | Москва
3 | 26 | phone | 89164444444
4 | 26 | city | Москва
5 | 27 | phone | 89164443333
6 | 27 | city | Тверь

Как выгрузить все заказы (shop_order) и номера телефонов контакта к этим заказам (contact_data), которые имеют shop_order.state_id='paid', и город Москва?
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
select t1.*, t2.value as phone from shop_order as t1
left join contact_data as t2 on t1.contact_id = t2.contact_id
where t2.field='phone' and t2.contact_id in (select contact_id from shop_order where t1.state_id='paid' and value='Москва')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
romanko_vn
@romanko_vn
SELECT * FROM shop_order 
INNER JOIN contact_data USING(contact_id)
WHERE shop_order.state_id='paid' AND contact_data.value='Москва'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы