|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexey V Drougov 2:5020/400 14 Dec 2000 20:10:41 To : All Subject : Re: DBD::mysql -------------------------------------------------------------------------------- On Tue, 12 Dec 2000, iluha wrote: > Юзаю по-тихоньку сабж. Верней учусь. Т.к. доселе не приходилось. > И возникла трабла. Как известно, в мыскле на колонку можно ссылаться > по-разному: column или table.column или db.table.column . > Hу так вот. Ситуация. Делаем запрос на несколько таблиц сразу. Тоесь в > виде SELECT table1.*, table2.*, table3.* WHERE table1.field1 = 1 > Всё условно. Далее забираем всё это моим любимым способом > fetchrow_hashref . Лучше не пользовать fetchrow_hashref - только ошибки плодить, к тому-же: "...Note that using fetchrow_hashref is currently not portable between databases..." Лучше пользоваться fetchrow_arrayref или fetchrow_array, тогда мере можно плевать на повторяющиеся названия полей и на сами названия в том числе, и писать красиво: ... my ($customer_id,$customer_name) = $sth->fetchrow_array; ... > А потом надо в цикле забирать полученные строки в > виде $ref->{'fieldname'} ($ref -- хендлер для данного fetchrow_hashref). не хендлер конечно, а ссылка на hash со значениями, да > И тут вопрос. А в каком виде указывать этот fieldname. Т.к. тут идет > запрос на несколько таблиц, то видимо надо указывать из какой таблицы > берем колонку -- $ref->{'table1.field1'} . Или же всё таки можно только > имя поля(в моем случае во всех таблицах имена полей уникальны)? Или же > можно по-любому? Пытался поглядеть в исходники сабжа, Перед изучением исходников лучше проделывать RTFM, там написано. > но... сил не хватило... perldoc DBI стоит всю > > - --- TSB Russian Express, Moscow Alexey V. Drougov, friendof@express.ru http://www.express.ru --- ifmail v.2.15dev5 * Origin: Russian Express I.S.P. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/39519200ee74.html, оценка из 5, голосов 10
|