Есть три таблицы, у которых есть общие поля.
1) url
2) url type
3) type
Подскажите пожалуйста, можно ли эти три таблицы объединить в одном запросе (У меня пока получается только два запроса (через NATURAL JOIN))?
Спустя 7 минут, 19 секунд (19.05.2012 - 12:04) Invis1ble написал(а):
да
Спустя 1 минута, 58 секунд (19.05.2012 - 12:06) Sergen написал(а):
Цитата (Invis1ble @ 19.05.2012 - 08:04) |
да |
Два вложенных селекта?
Спустя 2 минуты, 5 секунд (19.05.2012 - 12:08) Invis1ble написал(а):
1. Какая СУБД?
2. Выкладывай дамп структур таблиц, чтоб можно было предметно обсуждать
2. Выкладывай дамп структур таблиц, чтоб можно было предметно обсуждать
Спустя 53 минуты, 25 секунд (19.05.2012 - 13:01) Sergen написал(а):
Цитата (Invis1ble @ 19.05.2012 - 08:08) |
1. Какая СУБД? 2. Выкладывай дамп структур таблиц, чтоб можно было предметно обсуждать |
Таблица пустые, база mysql
Для наглядности я лучше опишу так:
tab_1
url | non_sef | basic |
link.html | index.php&id=1 | basic|
tab_2
type | non_sef | lastmod |
articles | index.php&id=1 | 2012-06-05 |
tab_3
type | changefreq | priority |
articles | weekly | 0,9 |
Спустя 4 минуты, 23 секунды (19.05.2012 - 13:05) Sergen написал(а):
Ну и собственно надо вытащить из
tab_1: url где where `basic`= 'basic'
tab_2: lastmod
tab_3: changefreq и priority
tab_1: url где where `basic`= 'basic'
tab_2: lastmod
tab_3: changefreq и priority
Спустя 10 минут, 52 секунды (19.05.2012 - 13:16) Invis1ble написал(а):
select * from tab_1 t1 left join tab_2 t2 on t2.`type`=t1.url left join tab_3 t3 on t3.`type`=t1.url where `basic`='basic'
Спустя 2 минуты, 41 секунда (19.05.2012 - 13:19) Sergen написал(а):
Цитата (Invis1ble @ 19.05.2012 - 09:16) |
select * from tab_1 t1 left join tab_2 t2 on t2.`type`=t1.url left join tab_3 t3 on t3.`type`=t1.url where `basic`='basic' |
Спасибо, сейчас убегаю, чуть позже опробую, отпишусь.
Спустя 2 часа, 16 минут, 31 секунда (19.05.2012 - 15:35) Sergen написал(а):
Цитата (Invis1ble @ 19.05.2012 - 09:16) |
select * from tab_1 t1 left join tab_2 t2 on t2.`type`=t1.url left join tab_3 t3 on t3.`type`=t1.url where `basic`='basic' |
Опс...Сел разбирать и не понял. Что означают t1, t2 и t3?
Спустя 4 минуты, 18 секунд (19.05.2012 - 15:40) Invis1ble написал(а):
псевдонимы таблиц
Спустя 1 час, 18 минут, 24 секунды (19.05.2012 - 16:58) Sergen написал(а):
Не получается. Вытаскивает строки только из tab_1
Спустя 17 минут, 23 секунды (19.05.2012 - 17:16) Sergen написал(а):
Сделал такой запрос. Вроде вытаскивает то что нужно, но че то какой-то простоватый получился... :(
SELECT * FROM tab_1 , tab_2, tab_3 WHERE tab_1 .non_sef=tab_2.non_sef AND tab_2 .type= tab_3.type AND `basic`='basic'