parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

MySQL: Выборка из трёх таблиц

osatuk 28.11.2004 16:38 / 28.11.2004 16:39

Граждане, подскажите как лучше запрос написать.
Есть три таблицы:
ref - в ней лежат строчки referer вырезанные из url (без имени сайта) , сам адрес сайта в site_id.
ref_id  referer  site_id
ref_sites - в ней лежат названия сайтов, обрезанные до последнего слеша.
refsite_id  site
ref_idx - сводная таблица реферов. ref_id - индекс на ref_sites.
num - количество за день, count_id - номер ресурса (эти несущественны)
refidx_id  count_id  date  ref_id  num
Мне надо вывести список сайтов ссылающихся на один из ресурсов. Я делаю так:
$tbl1[^table::sql{
  SELECT DISTINCT
    ref.site_id
  FROM
    ref_idx
  LEFT JOIN
    ref
  ON
    ref.ref_id = ref_idx.ref_id
  WHERE
    ref_idx.count_id = <номер ресурса>
  ORDER BY 
    ref.site_id
}]

^tbl1.menu{
  <a href="ref.html?id=номер_ресурса&site=$tbl1.site_id">^string:sql{select site from ref_sites where refsite_id = $tbl1.site_id}</a>
}
Как мне выбирать сразу имена сайтов из ref_sites, не прибегая к ^string:sql{...
Это видимо просто, но глаза как-то разбегаются от трёх таблиц.. =)