Не получая ожидаемый результат при использовании mysqlQuery, дублируйте некоторые значения - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь получить данные из 4 таблиц, и я написал один запрос

SELECT
  c.id,
  c.name,
  c.price,
  c.duration,
  c.period,
  c.practical_classes,
  c.theory_classes,
  e.id,e.created_at,
  u.id,
  u.registration_no,
  i.id,
  i.amountpaid,
  (i.amount - i.amountpaid) as balanceamount
FROM
  courses c,
  coursesenrolled e,
  users u,
  invoices i
WHERE e.student = "11"
  AND e.course = c.id
  AND c.delete_status = "0"
  AND c.status = "Available"
  AND u.id = "11"
  AND i.student = e.student 

, и я получаю результат, как показано на рисунке ниже. R aws дублируются. если я добавлю GROUP BY в своем запросе, последние 3 столбца получат неправильные данные result after executing query without adding Group By

нижеприведенный результат, который я получу, если добавлю Group By result with Group By in query

Ниже я прилагаю таблицу в формате 1. «Курс», table name: course 2. «Coursesenrolled», который обрабатывает данные, какой курс назначен тем или иным пользователям courses enrollled 3. "пользователь" enter image description here enter image description here 4. счета, которые будут обрабатывать счета для пользователей enter image description here

1 Ответ

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

Я пытаюсь понять вопрос, поэтому вы хотите получить результат для пользователя с id = 11, верно? Попробуйте это

SELECT DISTINCT c.id,c.name,c.price,c.duration,c.period,c.practical_classes,c.theory_classes,e.id,e.created_at,u.id,u.registration_no,i.id,i.amountpaid,(i.amount-i.amountpaid) as balanceamount FROM courses AS c INNER JOIN coursesenrolled AS e ON e.course=c.id INNER JOIN users AS u ON u.id=e.student INNER JOIN invoices AS i ON i.student=u.id  WHERE u.id='11' AND c.delete_status='0' AND c.status='Available';
...