Таблица левого соединения MYSQL с выбором данных - логическая ошибкаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Таблица левого соединения MYSQL с выбором данных - логическая ошибка

Сообщение Anonymous »

У меня есть следующие 4 таблицы.

1. DEBATES.
[ID, STARTER_PACK_ID]
2. DEBATE_GROUPS.
[ID, DEBATE_ID, STAKEHOLDER_ID]
3. DEBATE_STAKEHOLDERS.
[ID, STARTER_PACK_ID, NAME]
4. DEBATE_STARTER_PACKS.
[ID]


Я пытаюсь выбрать каждую группу дебатов с идентификатором каждого заинтересованного лица, именем идентификатора заинтересованного лица и количеством участников этого обсуждения, ГДЕ starter_pack_id равен определенным значениям. Например, они должны быть показаны, даже если счетчик равен 0 или присутствуют нулевые значения.

Ожидаемый результат:

DEBATE_ID | STAKEHOLDER_ID | COUNT(Example)
-------------------------------------------
1 1 2
1 2 1
1 3 3
2 1 4
2 2 1
2 3 2



Проблема в том, что в базе данных не отображаются дебаты, которые не использовались
, а это то, что мне нужно. Что мне следует изменить в приведенном ниже коде, чтобы получить эту информацию?


Ниже представлена ​​моя попытка...

SELECT
a.id,
a.name,
a.abbreviation,
b.debate_id,
IF(COUNT(b.stakeholder_id) = 0, 0, COUNT(b.stakeholder_id)) AS total_freq,
COUNT(b.stakeholder_id) AS freq
FROM
debate_stakeholders a LEFT JOIN debate_groups b ON b.stakeholder_id = a.id
GROUP BY
a.id, b.debate_id
HAVING
COUNT(*) < 3
ORDER BY
a.id,b.debate_id,b.stakeholder_id


Подробнее здесь: https://stackoverflow.com/questions/388 ... ogic-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»