![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BCworm |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Никак не погу сделать такую вещь
Например: Есть база lib с таблицами books в которой поля id и title (думаю ясно). И auth с полями id, book_id, auth В таблице books записаны ид и названия книг а в таблице auth имена ид книги и имя автора. Проблема в том что в auth записана только часть авторов имеющихся в books книг. например книг 320 а авторов всего 70. У меня получается создать запрос который выводит так 12 Kolobok 13 Kyrochka Riaba 14 Tri medvedia А мне необходимо это както соединить книги с авторами чтоб было 12 Kolobok - Pushkin AS 13 Kyrochka Riaba - Nekrasov 14 Tri medvedia -Gogol 14 Gusi Lebedi - Unknown 15 Baba Yaga - Unknown 15 Viy - Gogol Т.е если в auth есть соответствующее id книга то выводтся имя а если нет то Unknown. Мне нужен сам запрос а с выводом я сам размберусь. Помогите пожалуйста составить запрос. Возможно ли это сделать одним запросом? Или нужно сделать 2 запроса в разные таблицы и потом в цикле сопоставить? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
смотри в сторону OUTER JOIN
|
|||
|
||||
| Mavrun |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 25.11.2007 Репутация: 2 Всего: 13 |
насколько я понял проблему, могу посоветовать посмотреть конструкции INNER JOIN, через них я делал нечто подобное
http://www.ageent.ru/sql-inner-join.html http://www.quackit.com/sql/tutorial/sql_inner_join.cfm |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
||||
|
||||
| Mavrun |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 25.11.2007 Репутация: 2 Всего: 13 |
SELECT `books`.`id`, `books`.`title`, `auth`.`auth` FROM `books` INNER JOIN `auth` ON `books`.`id`=`auth`.`book_id`
или я чего-то не понимаю? Добавлено @ 12:49 ааааа, я не заметил, что там автора может не иметься и нужно учитывать это. сори тогда да, надо через LEFT OUTER JOIN Это сообщение отредактировал(а) Mavrun - 26.3.2010, 12:49 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
INNER JOIN не вернет строки, в которых не нашел соответствия
а это OUTER JOIN. Кстати, какое отношение имеет этот вопрос к PHP? Подобные вопросы нужно отправлять сюда http://forum.vingrad.ru/forum/forum-491.html Это сообщение отредактировал(а) azesmcar - 26.3.2010, 13:06 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |