Как можно объединить три разных таблицы, где столбец является суммой для каждого компонента? - PullRequest
0 голосов
/ 16 мая 2019

У меня есть три таблицы:

geo (geo_id, geo_city, \ ldots)
person (person_id, geo_id, \ ldots)
билет (person_id, numbertickes, \ ldots)

Как мне сформировать таблицу, в которой столбцы geo_city и visit, где посещение - это сумма количества билетов в каждом городе.

SELECT * FROM `mytable` AS A
INNER JOIN `geo` AS B ON B.geo_id = A.geo_id
INNER JOIN `ticket` AS C ON C.CLI_ID = A.CLI_ID
WHERE B.geo_id IS NOT NULL
AND C.person_id IS NOT NULL;

Мне нужен столбец с группой суммы по городам, что-то SUM(numbertickes)

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Попробуйте это:

SELECT g.geo_city, SUM(t.numbertickets) visit FROM ticket t
  JOIN person p USING(person_id)
  JOIN geo g USING(geo_id)
  WHERE g.geo_id IS NOT NULL && p.person_id IS NOT NULL
  GROUP BY g.geo_city ORDER BY t.numbertickets DESC

Конечно, я предполагаю, что вы правильно написали номерные карточки. Показывает номера в вашем сообщении.

0 голосов
/ 16 мая 2019

Присоединитесь к 3 таблицам, выберите город и SUM(numbertickets).

SELECT g.geo_city, SUM(t.numbertickets) AS visits
FROM geo AS g
JOIN person AS p ON p.geo_id = g.geo_id
JOIN ticket AS t ON t.person_id = p.person_id
GROUP BY g.geo_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...