выборка из нескольких таблиц Mysql

Тема в разделе "Perl программирование", создана пользователем aks, 2 май 2007.

Статус темы:
Закрыта.
  1. aks

    aks Гость

    При выборке из нескольких таблиц результат получаю не тот что в консоли...абсолютно. Вот такой вот запрос:
    Код (Text):
    Select publications.id, publication_type.type, publication_name.name, publications.pages, publications.publication_date
    from publications, publication_type, publication_name
    where publications.type=publication_type.id and publications.name=publication_name.id
    publication_type.type, publication_name.name - это строки. а выводятся значения publication_type.id, publication_name.id. Не понимаю в чем дело, в консоли все нормально, как и должно быть. Подскажите пожалуйста.

    Вывод делаю так:
    Код (Text):
    while ($line=$sth->fetchrow_arrayref)
    {
    print "<tr>";
    print "<td width=\"10%\">$$line[0]</td>";
    print "<td width=\"30%\">$$line[1]</td>";
    print "<td width=\"30%\">$$line[2]</td>";
    print "<td width=\"15%\">$$line[3]</td>";
    print "<td width=\"15%\">$$line[4]</td>";
    print "</td>";
    }
     
  2. Vovochka

    Vovochka Гость

    Чел... Твой SQL - плох...

    Запрос должен быть где-то таким:

    Код (Text):
    SELECT p.id, p_t.type, p_n.name, p.pages, p.publication_date
    FORM publications AS p
    INNER JOIN publication_type AS p_t ON p.type = p_t.id
    INNER JOIN publication_name AS p_n ON p_n.id = p.name
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей