Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Запрос из свзаных таблиц


Автор: Светлан 2.1.2015, 18:27
Есть несколько таблиц из которых нужно вытянуть имя, фамилию и майл, помогите пожалуйста
......
subscriber
! id ! customer_id ! email !
! 1 ! 22 ! wtim@mail.ru!
! 2 ! 44 ! lgol@mail.ru!
! 3 ! 45 ! nastia@mail.ru!
....
customer_info
! id ! customer_id ! attribut_id ! value !
! 1 ! 22 ! 5 ! Вася !
! 2 ! 22 ! 7 ! Тимофеев !
! 3 ! 44 ! 5 ! Леня !
! 4 ! 44 ! 7 ! Голубков !
! 5 ! 45 ! 5 ! Настя !
! 6 ! 45 ! 7 ! Курочкина !

Каким запросом  получить Имя, Фамилию  и маил. К примеру: Вася, Тимофеев, wtim@mail.ru
Спасибо Снято. Поторопился с постом . Селект в селекте решил задачу
 


Автор: Ceiceron 5.1.2015, 14:26
Во-первых тут не хватает еще таблицы с атрибутами, обозначающими где тут имя и фамилия. Допустим, что таблица есть, но будем оперировать только идентификаторами:
Код

select a.value as name, b.value as surname, s.email from
(select customer_id,value from customer_info where attribut_id=5) a
join
(select customer_id,value from customer_info where attribut_id=7) b
on a.customer_id=b.customer_id
join
subscriber s on b.customer_id=s.customer_id;


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Zapros-iz-svzanykh-tablits-id54a6b97bae2015de548b4567#findElement_E7045_54aa74ceae2015f97b8b4582_0

Автор: Akina 6.1.2015, 00:58
Код

SELECT c1.value, c2.value, s.email 
FROM customer_info c1, customer_info c2, subscriber s
WHERE s.customer_id = c1.customer_id 
AND s.customer_id = c2.customer_id 
AND c1.attribut_id = 5
AND c2.attribut_id = 7


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)