Есть БД, в которой 2 таблицы. Структура первой таблицы такова: Код (Text): idTable1 int unsigned not null auto_increment primary key, idColmn1 int unsigned, idColmn2 int unsigned, idColmn3 int unsigned, idColmn4 int unsigned, idColmn5 int unsigned Структура второй: Код (Text): idColumn int unsigned not null auto_increment primary key, chrColumn varchar(255) Т.е. в первой таблице в idColumn'ах - храняться коды, описание которых находятся во второй. Как сопоставить 2-ю таблицу первой? Помогите, кто может... :roll:
Пример. Имеется 1000 человек, имеется 1000 книг. В первой таблице идут user'ы и id book которые он прочитал, а во второй описание самих книг. Каждый раз прописывать user'у название книг (или даже ее краткое описание) - нецелесообразно.
тогда я бы сделал так: users: id,name books id,name users2books: id_user, id_book тогда можно получать не только книги прочитанные юзером но и юзеров прочитавших книгу.
Я думал сделать также, но смысл то один и тот же, запрос не получается. Как например потом вывести 100 пользователей, которым прописать названия книг, которые они прочитали. Или это одним запросом не составить?
найти книги, котрый прочитал конкретный юзер? Код (Text): SELECT users.name as username books.name as bookname FROM users, books WHERE users.id = $id AND users.id = users2books.user_id AND books.id = users2books.book_id AND получим петя:учебник1 петя:учебник2 ... p.s. почту свою пофикси? Код (Text): ... while talking to mx3.z8.ru.: >>> DATA <<< 553 5.3.0 <pikalevo@pikalevo.ru>... User unknown 550 5.1.1 <pikalevo@pikalevo.ru>... User unknown <<< 503 5.0.0 Need RCPT (recipient)
Не, мне необходимо чтобы результат был такой: Петя (Книга 1, Книга 2, Книга 3) Вася (Книга 3, Книга 4) Ваня (Книга 1, Книга 4, Книга 5) и т.д. Вот такой результат реально получить одним запросом?
mihalych теоритически да. используюя LEFT JOIN, но тогда нжно делать LET JOIN на каждый столбец, но это изврат. чем не устраивает то, что я предложил? получишь список, который можно потом как хочешь обрабатывать.
В том то и проблема, что вот результат такой нужен: Вот уже третий день вожусь. Спасибо за подсказку (про LEFT JOIN), сейчас в книге почитаю. --------------------------- А что на счет почты? я не понял...
Т.е. надо хост-компани жалобу писать? Я давно это наблюдаю, то что мне иногда говорят что отправили письмо, а его нет. Вот только я писал хостерам на счет этого, но они сказали, что все ОК. Может это их антивирус или спам фильтр глючит?
mihalych блин. юзера pikalevo@pikalevo.ru несуществует. что не понятно-то? этот адрес указан у тебя в профайле. на него уходят письма с форума и приходят с отлупами.
Ну самого то ящика pikalevo@pikalevo.ru не существует, т.к. у меня там один ящик *@pikalevo.ru - но раньше с Вашего форума я получал письма.
mihalych ну так проверь что там у тебя ... Apr 10 11:26:59 gw sm-mta[2142]: k3A7Qx8D002139: to=<pikalevo@pikalevo.ru>, ctladdr=<440hz@php.ru> (1001/1001), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30810, relay=mx3.z8.ru. [80.93.57.58], dsn=5.3.0, stat=User unknown