![]() |
|
Модераторы: skyboy |
![]()
|
|
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
есть Запрос: "SELECT * FROM users WHERE u_id IN (32, 59,89,60 ...)"
в ответ получу поля u_id, rating_id, photo_id - айдишки данных с других таблиц. как должен выглядеть запрос, что бы вместо id-шек, получить их значение полей? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 15 Всего: 260 |
учебник я тебе не заменю. но искать надо по "JOIN". что и означает "объединение". оно бывает внешним и внутренним. внешнее(LEFT/RIGHT JOIN) когда каждой строчке из исходной таблицы не всегда найдется соответствующая строка из присоединяемой таблицы. и надо, чтоб исходная строка осталась в результате в любом случае. внутреннее(INNER JOIN) когда записи, которые есть только в одной из таблиц, не нужны в результате. |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Для этого нужно связать таблицы... Как правило таблицы связываються по первичному и внешнему ключам (т.е. связываються столбцы: первичный ключ одной таблицы и его внешний ключ другой таблицы)... Но это совершенно не правило (просто в самом общем случае происходит именно так)... Связать таблицы можно явно и не явно... Неявно таблицы связываються через условие (в примере с ключами - это условие равенства первичного и внешнего ключей) в предложении WHERE ... Кроме того таблицы можно связать явно. Для этого используется предложение JOIN. Явное связывание может быть внутренним (INNER JOIN) и внешним (OUTER LEFT JOIN, OUTER RIGHT JOIN, FULL JOIN, CROSS JOIN)... Чисто технически явное внутренне связывание и не явное внутреннее связывание равносильны (просто при явном связывании код, как и намерения его автора, более прозрачны)... Т.е. для того, что бы получить значения поля из другой таблицы, нужно: - указать этот столбец в предложении SELECT; - произвести связывание таблиц, например так WHERE table_a.p_key=table_b.f_key. -------------------- Слава Україні! |
|||
|
||||
| ОВиталий |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
спасибо!!!
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |