Выборка из нескольких таблиц - MySQL (220058)
Формулировка задачи:
Добрый день.
Помогите сделать выборку с 3 и более таблиц.
Вот пример, есть несколько таблиц
table1:
table2:
table3
Как получить выборку двумя запросами чтобы получить название страны я знаю
А как это сделать одним запросом?
Спасибо
id | name | |
1 | Vasia | removed@mail.ru |
2 | Petja | removed@mail.ru |
item | orderdate | payed | id_user | id_country |
item1 | 12-12-2012 | 10 | 2 | 2 |
item2 | 13-12-2012 | 20 | 1 | 1 |
item3 | 15-12-2012 | 11 | 2 | 3 |
item4 | 17-12-2012 | 13 | 1 | 4 |
item5 | 20-12-2012 | 10 | 1 | 2 |
id | country_name |
1 | Austria |
2 | Australia |
3 | Bangladesh |
4 | Belarus |
... |
"SELECT table1.id, name, email, item, orderdate, payed, id_country FROM table2 JOIN table1 ON table2.id_user = table1.id" $id_country = $row['id_country']; "SELECT country_name FROM table3 WHERE id=$id_country"
Решение задачи: «Выборка из нескольких таблиц»
textual
Листинг программы
select t2.item,t2.orderdate,t2.payed,t1.name,t1.email,t3.country_name from table1 t1 inner join table2 t2 on t1.id=t2.id_user inner join table3 t3 on t3.id=t2.id_country
Объяснение кода листинга программы
В представленном коде выполняется запрос выборки данных из трех таблиц: table1, table2 и table3. Для этого используется оператор SELECT, который позволяет выбрать нужные поля из указанных таблиц.
t2.item
- выбирается полеitem
из таблицыtable2
.t2.orderdate
- выбирается полеorderdate
из таблицыtable2
.t2.payed
- выбирается полеpayed
из таблицыtable2
.t1.name
- выбирается полеname
из таблицыtable1
.t1.email
- выбирается полеemail
из таблицыtable1
.t3.country_name
- выбирается полеcountry_name
из таблицыtable3
. Для объединения данных из разных таблиц используются операторы JOIN. Здесь используется два JOIN:t1.id=t2.id_user
- происходит объединение таблицtable1
иtable2
по полюid
с указанием условия равенства.t3.id=t2.id_country
- происходит объединение таблицtable3
иtable2
по полюid
с указанием условия равенства. Таким образом, в результате выполнения этого запроса будет получена выборка данных из указанных таблиц, включающая поляitem
,orderdate
,payed
,name
,email
иcountry_name
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д