Как посчитать количество строк при использовании UNION в codeigniter? - PullRequest
0 голосов
/ 12 января 2019
$this->db->select('*');
$this->db->from('table1');
$where = "tag = '".$tag."'";
$this->db->where($where);
$query1 = $this->db->get();
$result1 = $query1->num_rows();

$this->db->select('*');
$this->db->from('table2');
$where = "tag = '".$tag."'";
$this->db->where($where);
$query2 = $this->db->get();
$result2 = $query2->num_rows();

$result = $result1+$result2;
return $result;

В этом вопросе у меня есть две таблицы table1 and table2, где структура таблиц одинакова. Теперь я хочу посчитать количество строк. Теперь он показывает мне неверные данные счета. Если tag данные присутствуют в первой таблице, то они подсчитывают 1, а если tag данные присутствуют в обеих таблицах, то они подсчитывают 2. Итак, как я могу это сделать? Пожалуйста, помогите мне.

Спасибо

1 Ответ

0 голосов
/ 12 января 2019

Если ваш запрос в порядке и каждый из них возвращает именно тот результат, который вам нужен, и теперь вы просто хотите получить только количество строк, тогда лучше использовать count_all_results() .. и быть в безопасности и сбросить конструктор запросов до того, как сделать еще один запрос:

...
$r1= $this->db->count_all_results();
$this->db->reset_query();
...
$r2= $this->db->count_all_results();

Они оба должны возвращать количество результатов, если ваш запрос в порядке, а затем просто добавить их:

$sum = $r1 + $r2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...