Как использовать sum, join, order by и пункт where в mysql? - PullRequest
0 голосов
/ 28 июня 2018

Итак, у меня есть две таблицы, подобные приведенным ниже:

  1. tb_custmap: idCust, idUser
  2. tb_cust: idCust, доход

Я хочу получать доход от tb_cust на основе idCust и только от конкретного idUser. Я пробовал это:

SELECT tb_cust.revenue
FROM tb_custmap INNER JOIN
     tb_cust
     ON tb_custmap.idCust = tb_cust.idCust
ORDER BY tb_cust.revenue
WHERE idUser='".$AccMgrID."'

Но я получил ошибку, и мне сказали

"У вас ошибка в синтаксисе SQL; обратитесь к руководству, соответствует вашей версии сервера MariaDB для правильного использования синтаксиса около 'WHERE idUser =' azkyath '' в строке 1 "

Пожалуйста, кто-нибудь, помогите мне, я делал это в течение 2 дней и до сих пор не могу найти правильный.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Надеюсь, это поможет вам:

Сделайте это с помощью CI-запроса

/*if you want to use `sum` use this instead of select
 $this->db->select_sum('tb_cust.revenue');
*/
$this->db->select('tb_cust.revenue');
$this->db->from('tb_custmap');
$this->db->join('tb_cust' , 'tb_cust.idCust = tb_custmap.idCust');

/*In where clause replace `table` name also with the correct table name 
 from where `idUser` column belongs to
*/
$this->db->where('table.idUser', $AccMgrID);

$this->db->order_by('tb_cust.revenue','ASC');
$query = $this->db->get();
if ( $query->num_rows() > 0 )
{
    print_r($query->result());
}

Для более: https://www.codeigniter.com/user_guide/database/query_builder.html#selecting-data

0 голосов
/ 28 июня 2018

Вы должны написать запрос так:

SELECT c.revenue
FROM tb_custmap cm INNER JOIN
     tb_cust c
     ON cm.idCust = c.idCust
WHERE ?.idUser = :AccMgrID
ORDER BY c.revenue;

Примечания:

  • WHERE идет после FROM и до ORDER BY.
  • Используйте псевдонимы таблиц, которые являются сокращением имени таблицы.
  • Уточните все имена столбцов (то есть используйте псевдоним таблицы).
  • ? - таблица, из которой происходит idUser.
  • :AccMgrID для параметра . Вы должны научиться использовать параметры, если вы собираетесь эффективно использовать SQL на языке программирования.
...