MySQL sum + запрос внутреннего соединения - PullRequest
0 голосов
/ 31 августа 2011

Вопрос:

  • Таблица 1: id.1 |name.Joe |и т. д. некоторые |... другое |... Данные
  • Таблица 2: id.X |номер. + 1 123 555 9999 |useridfromtable1.1 -> Связь телефона с Джо
  • Таблица 3: id.X |номер. + 1 123 555 9999 |звонки.55

Мне нужен запрос, который объединяет 3 таблицы, и у меня есть только идентификатор (идентификатор пользователя) из таблицы 1. Итак, мне нужно от userid -> захватить телефон -> отЗвонки по телефонному телефону в таблице 3.

Ответ:

SELECT t1.name,t1.id,t2.number,t3.calls
  FROM table1 t1
INNER JOIN table2 t2 ON t2.useridfromtable=t1.id
INNER JOIN table3 t3 ON t3.number = t2.number

Новый вопрос?

Есть ли шанс, что вы знаете, как напечатать сумму звонков по результату?после всех этих соединений я получаю около 10 строк одного и того же пользователя и их соответствующие вызовы на основе телефона, что является правильным для того, что я спросил, теперь мне нужно вернуть все вызовы в 1 строке со значениями:

sum | user ID | user Name

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Попробуйте этот запрос:

SELECT sum(t3.calls), t1.id, t1.name
FROM table1 t1
INNER JOIN table2 t2 ON t2.useridfromtable=t1.id
INNER JOIN table3 t3 ON t3.number = t2.number
GROUP BY t1.id
0 голосов
/ 31 августа 2011

Может быть, это будет полезно:

SELECT SUM(t3.calls) FROM table1 t1 INNER JOIN table2 t2 ON t2.useridfromtable=t1.id INNER JOIN table3 t3 ON t3.number = t2.number
...