У меня есть следующий запрос:Return (*), даже если 0
select bb.Name, COUNT(*) as Num from BOutcome bo
JOIN BOffers bb ON bo.ID = bb.BOutcomeID
WHERE bo.EventID = 123 AND bo.OfferTypeID = 321 AND bb.NumA > bb.NumB
GROUP BY bb.Name
таблица выглядит следующим образом:
Name | Num A | Num B
A | 10 | 3
B | 2 | 3
C | 10 | 3
A | 9 | 3
B | 2 | 3
C | 9 | 3
Ожидаемый результат должен быть:
Name | Count
A | 2
B | 0
C | 2
Поскольку когда имя A и C, тогда Num A больше во времени, чем Num B, а когда Name - B, в обеих записях Num A меньше, чем Num B.
Мой выходной ток:
Name | Count
A | 2
C | 2
Поскольку выход B является 0, я не получаю его обратно в моем запросе.
Что не так с моим запросом? как мне его вернуть?
Вы говорите: «Таблица выглядит так:», но в вашем запросе упоминаются две таблицы. Вы можете быть более конкретным, пожалуйста? –
Вы пытались выполнить 'LEFT JOIN'? – abatishchev
@abatishchev Серьезно, вы просто оставили это в качестве ответа? – casperOne