Выбор и заказ данных из другой таблицы - PullRequest
1 голос
/ 26 января 2011

У меня есть две таблицы topsites и tophits.

tophits has id, account, useragent, ip referral, time

topsites has id, name, email, url, return, active

Каждый раз, когда кто-то нажимает на ссылку, она сохраняется в таблице tophits с идентификатором учетной записи на топ-сайтах.

По сути, я хочу повторить лучшие хиты за день, поэтому я считаю, что мне нужно посчитать, сколько хитов было для аккаунта = 4 вовремя = сегодняшний порядок сверху

что у меня до сих пор

$this->db->select('name, url');
$this->db->from('topsites');
$this->db->where('active' '1');
$this->db->join('tophits', 'tophits.id = topsites.account');

(это для codeigniter)

Я застрял.Любая помощь?

1 Ответ

1 голос
/ 26 января 2011

Попробуйте это (не проверено)

Когда вы объединяете таблицы, вам нужно указать в ваших операторах выбора, к какой таблице принадлежит данное поле. Также CI по умолчанию защищает имена полей с помощью обратных кавычек, НО, если вы используете методы SQL в своих операторах select / where, вам нужно дать второй параметр FALSE, чтобы он не делал этого, потому что это может привести к неправильному использованию ваших предполагаемых методов SQL. Вам также нужно добавить еще один оператор where, чтобы ограничить его сегодняшним днем.

$this->db->select('topsites.name, topsites.url, COUNT(tophits.id) AS hit_count',FALSE);
$this->db->from('topsites');
$this->db->where('active' '1');
$this->db->join('tophits', 'tophits.id = topsites.account');
$this->db->order_by('hit_count');    

$query = $this->db->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...