2015-05-19 4 views
0

У меня есть 2 таблицы, учетные записи и программы. Программы имеют внешний ключ account_id, который связывает его с учетной записью.MySQL ДЕЙСТВИТЕЛЬНО, даже если родственные строки не существуют?

Так у меня есть:

Account: 
id 
Name 

Program: 
id 
account_id 
name 

Я хочу, чтобы иметь возможность запросить что-то вроде

SELECT *, count(program.id) AS program_count From Account 

, но это не работает, если нет программ, которые ссылаются обратно в строке счета.

Любое понимание или советы о том, что делать или как это сделать?

+1

Если вы проголосуете, предоставьте некоторую информацию о том, почему – MikeL

+0

Сайт, как правило, не касается обмена идеями для кода. Прочитайте синтаксис ['JOIN'] (https://dev.mysql.com/doc/refman/5.0/en/join.html), попробуйте, затем возвращайтесь с вопросом, когда все не получается. –

+0

Получил это. Спасибо @LinusKleen – MikeL

ответ

0
SELECT Account.*, count(program.id) AS program_count 
FROM Account 
LEFT JOIN program 
ON Account.id = Program.account_id 
GROUP BY Account.id 
+0

Чтобы сделать это неправильным ответом, почему бы не уточнить, на что «LEFT JOIN» должен действительно ответить на этот вопрос? –

Смежные вопросы