2 / 2 / 1
Регистрация: 26.06.2015
Сообщений: 56
1

Запрос на подсчет одинаковых значений поля с учетом соответствия во втором

29.07.2016, 23:21. Показов 3319. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,

Делаю, например запрос
SQL
1
2
SELECT d.id_supplier, d.id_product
FROM Delivery d
получаю результат:

id_supplier id_product
2 5
1 4
3 3
4 2
5 1
5 1
4 2
3 3
1 4
2 5
3 6
1 6
4 6
4 2

Мне нужно получить выборку так, чтобы id_product встречалось более двух раз И при этом чтобы id_supplier были разными как минимум два раза.

Вот я получаю результат по первому условию:
SQL
1
2
3
4
SELECT COUNT(d.id_product), d.id_product
FROM Delivery d 
GROUP BY d.id_product
HAVING COUNT(d.id_product) > 2
А как подключить второе? Желательно через подзапросы.

Там есть и еще условия, но застрял на этих...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2016, 23:21
Ответы с готовыми решениями:

Подсчет значений в диапазоне с условием соответствия другому диапазону
Здравствуйте. Такая задача. Необходимо подсчитать количество слова "Апельсин" в диапазоне D5 :...

Подсчет одинаковых значений
Здравствуйте уважаемые гуру. Подскажите начинающему... Есть такой запрос... Надо...

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

Подсчет одинаковых значений выдает ошибку
$os = array(); $result = mysqli_query($bd, "SELECT * FROM messages WHERE id2='".$_SESSION."'");...

3
2 / 2 / 1
Регистрация: 26.06.2015
Сообщений: 56
29.07.2016, 23:56  [ТС] 2
Может я вообще не с того начал.
Вот полное задание (должны использоваться как-то подзапросы):

Показать названия товаров производителя "Господарочка", которые поставлялись более чем двумя разными (!) поставщиками.

Вот я сделал, но без учета разных поставщиков:
SQL
1
2
3
4
5
6
SELECT pr.name  AS 'Товар', p.name AS 'Производитель'
 FROM Producer p
 JOIN Product pr ON pr.id_producer = p.id
 JOIN Delivery d ON d.id_product = pr.id
 GROUP BY p.name, pr.name
 HAVING p.name LIKE '%Господарочка%' AND COUNT(d.id_supplier) > 2
Диаграмма таблиц БД прилагается
Миниатюры
Запрос на подсчет одинаковых значений поля с учетом соответствия во втором  
0
3344 / 2045 / 731
Регистрация: 02.06.2013
Сообщений: 5,026
30.07.2016, 11:57 3
Лучший ответ Сообщение было отмечено petuz как решение

Решение

T-SQL
1
2
3
4
5
6
SELECT pr.name  AS 'Товар', p.name AS 'Производитель'
 FROM Producer p
 JOIN Product pr ON pr.id_producer = p.id
 JOIN Delivery d ON d.id_product = pr.id
 GROUP BY p.name, pr.name
 HAVING p.name LIKE '%Господарочка%' AND COUNT(distinct d.id_supplier) > 2
1
2 / 2 / 1
Регистрация: 26.06.2015
Сообщений: 56
30.07.2016, 12:05  [ТС] 4
Ух ты! Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2016, 12:05
Помогаю со студенческими работами здесь

StringGrid и подсчет одинаковых значений в строке
Добрый день! У меня стоит задача примерно такая: 1. в первой строке StringGrid1 кликаю правой...

Быстрый поиск и подсчет одинаковых значений в базе.
в базе access 35000 записей надо найти в поле "ИМЯ" одинаковых примеру Саша -20 Маша -10 и.т.п.

Как создать подсчёт одинаковых значений в столбце?
Здравствуйте. Шерстил интернет в поисках ответа на вопрос "Как посчитать одинаковые значения в...

Подсчет количества одинаковых значений в последних 10 ячейках
Возможно ли сделать подсчет количества значений в последних 10 ячейках То есть в столбце 1:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru