У меня есть следующие базы данных:выполнение запроса с использованием счета
Stocks (StockNo, код филиала, описание, количество, Units, Reorder, Цена, SuppCode)
Это образец данных содержащиеся в нем:
STOCKNO STOREC DESCRIPTION QUANTITY UNITS REORDER PRICE SUPPCO
------- ------ ----------------------- -------- ------ ------- ------- ------
126 LEG Sealing wax 9 Box 5 7.99 S5
127 LEG Red binding ribbon 13 Roll 10 6.47 S5
128 LEG A3 cream notary paper 21 Ream 10 7.85 S5
129 LEG Coloured ink 22 Bottle 10 3.48 S4
мне нужно сделать запрос для отображения поставщиков (suppcode), что предложение не менее 3 магазинов.
Это я то, что я до сих пор:
select suppcode, count(distinct storecode) as StoresSupplied
from stocks
group by suppcode
having count(*) > 3
Это дает следующие результаты
SUPPCO STORESSUPPLIED
------ --------------
S3 4
S4 3
S2 3
S1 1
Проверьте всю таблицу результаты для S3, S4 и S2 являются правильными, но я не могу найти причина, по которой S1 существует. S1 появляется в таблице, снабжая 8 разных элементов, но только одному отдельному файлу-хранилищу.
Что делать, если вы измените 'COUNT (*)> 3' для' подсчета (отличный код филиала)> 3 '? –
'....... having счет (*)> 3'? –
На стороне примечание предикат 'по крайней мере 3' эквивалентен'> = 3', а не '> 3' (более 3), что исключает поставщиков, которые поставляют 3 магазина. – jpw