mysql объединяет 3 таблицы и считает - PullRequest
5 голосов
/ 27 марта 2010

Пожалуйста, посмотрите на это изображение

альтернативный текст http://img249.imageshack.us/img249/6453/pic1v.jpg

здесь 3 таблицы, и я хочу

UID из таблицы1 промышленность из таблицы 3 того же UID количество фидов из таблицы 2 того же идентификатора

как в примере примера вывода будет 2 записи

Спасибо

Ответы [ 2 ]

5 голосов
/ 27 марта 2010

Я не вижу никакой связи с таблицей 1. Вот пример использования внутреннего соединения между двумя таблицами и группировки по uid:

SELECT 
  t3.uid, 
  t3.industry, 
  count(t2.fid) 
FROM 
  table3 t3 
INNER JOIN 
  table2 t2 ON t3.uid = t2.uid 
GROUP BY 
  t3.uid
4 голосов
/ 27 марта 2010

Попробуйте с этим:

SELECT table1.uid,table3.industry,COUNT(table2.fid) 
FROM table1 
INNER JOIN table3 ON table1.uid=table3.uid
INNER JOIN table2 ON table1.uid=table2.uid
GROUP BY table1.uid, table3.industry

Внутреннее объединение Table1 бесполезно, но может быть полезно, если вам нужно получить city или mem_no; в этом случае не забудьте добавить поле также в предложении GROUP BY.

...