Ошибка с JOIN?

В хороший день, я буду стараться объясняться. У меня есть следующие подмостки, 'поступающие данные' и 'категории':

tablas

То, что я ищу, состоит в том, чтобы получать консультацию, в которой я бросался бы как оказанный категории и, в сторону, число случаев, которое использовало эту категорию в таблице, 'введенный'.

Это уже я этого добился с функцией INNER JOIN, я схватил:

SELECT categorias.nombre, COUNT(*) 
FROM entradas 
INNER JOIN categorias ON categorias.id = entradas.id_categorias 
GROUP BY id_categorias;

Результат этот:

innerjoin

Сейчас, когда попытка состоит в том, чтобы делать то же самое, но что результат также бросил категорию, которая даже не была использована, в этом случае 'Платформах', и я соединяю, меня пометили 0 или NULL, что-то, что он показывал бы мне, что это категория, даже не используя. Для этого я понимаю, что они подали бы мне функции LEFT JOIN или RIGHT JOIN, и это сделал так:

SELECT categorias.nombre, COUNT(*) 
FROM entradas 
RIGHT JOIN categorias ON entradas.id_categorias = categorias.id 
GROUP BY id_categorias;

Но меня бросает это:

select

В категории 'Платформах' меня помечает 1, когда был бы должен появляться 0. Я попробовал пытаться снимать GROUP BY, и меня бросает это:

prueba

Появляется сумма 11, когда в моей таблице, введенный есть только 10 реестров. Кажись как будто существовал реестр в таблице, 'введенный' с id_categorias=5, но в действительности это не так. Я не понимаю, что то, что он может перемещать.

2
задан 20.03.2019, 08:58
1 ответ

Мне кажется, что твоя консультация deberГ, - чтобы быть повторно размещенной таким образом, чтобы мочь работать с LEFT JOIN для того, чтобы ты получил все категории, что, если у них есть одна или больше присоединенных поступающих данных, и ademГЎs те categorГ-эксперт, который нет присоединенной ни одной у

SELECT categorias.nombre, COUNT(entradas.id_categorias) 
FROM categorias 
LEFT JOIN entradas ON categorias.id = entradas.id_categorias 
GROUP BY id_categorias;

РАЗЪЯСНЕНИЙ

  • , Выбрал сначала имя ее categorГ - в в существо таблица левой стороны во мне representaciГіn
  • , Я Делаю count(), но из колонны id_categorias, так как это ключ forГЎnea, что связывает оба подмостков и та, что он показывает, если имя одной categorГ - в ha зарегистрированный или нет
  • В FROM я размещаю, что он был с categorГ - в
  • , Я Делаю один LEFT JOIN, чтобы показывать данные об обоих подмостках, которые были связаны, и ademГЎs покажите мне данные о левой таблице categorias, которые aГєn не были использованы, а именно имя категории в таблице правой стороны entradas
  • В ON, я равен, в котором колонны делается она vinculaciГіn между обоими подмостками
  • В конце концов, он остается GROUP BY() id_categorias

Здесь у тебя есть ссылка , где ты можешь подкреплять то, что упомянуло тебе о

, ПОСЛЕДОВАННОМ ИЗ КОНСУЛЬТАЦИИ

introducir la descripción de la imagen aquí

2
ответ дан 02.12.2019, 05:22
  • 1
    Большое спасибо из-за твоего ответа. Bá sicamente моя ошибка была в count(). Изменяя это дело в том, что решена моя проблема. – Oscar Díaz 21.03.2019, 06:12

Теги

Похожие вопросы