Сформировать SQL запрос по таким условиям

124
27 декабря 2019, 12:30

Есть таблицы:

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 | 89163333333
6 | 27 | city | Тверь

Таблица shop_order

id | contact_id | state_id
1 | 25 | paid
2 | 26 | paid
3 | 27 | notpaid

Как выгрузить все заказы (shop_order) и номера телефонов контакта к этим заказам (contact_data), которые имеют shop_order.state_id='paid', и город Москва?

Answer 1

Если нужно взять номера, думаю этот подойдет:

SELECT
  so.id, 
  so.contact_id.
  cdp.value
FROM shop_order so
JOIN contact_data cdc ON so.contact_id = cdc.contact_id
JOIN contact_data cdp ON so.contact_id = cdp.contact_id
WHERE so.state_id = 'paid' and cdc.value = 'Москва' and cdp.field='phone'
GROUP BY cdp.value
Answer 2
SELECT * 
  FROM shop_order 
  JOIN contact_data 
    ON shop_order.contact_id = contact_data.contact_id 
 WHERE 1

Вроде как так должно получится

READ ALSO
Изменить форму input-а

Изменить форму input-а

Вывожу в таблице в инпуты значения из бд

134
Кнопка выходит за блок

Кнопка выходит за блок

Всем привет, образовалась проблема на мобилкахБлок-ссылка отображается неправильно

150
Некоторые вопросы по БЭМ

Некоторые вопросы по БЭМ

Читаю БЭМ и появились некоторые вопросы:

139
c# найти и изменить строку в файле

c# найти и изменить строку в файле

Пытаюсь сделать редактор cfg файла (конфиг для коммутатора), в котором нужно изменить 2 значенияСуть такова - открыть конфиг (указать путь до файла),...

181