Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 2
Регистрация: 18.11.2013
Сообщений: 337

Дополнить созданный запрос

01.11.2016, 19:06. Показов 1291. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть вот такое задание
База данных, состоит из 4 таблиц.
ПОСТАВЩИКИ: Hомеp поставщика, Фамилия, Рейтинг, Гоpод
ДЕТАЛИ: Номер детали, Название, Цвет, Вес, Город
ИЗДЕЛИЯ: Номер изделия, Название, Город
ПОСТАВКИ: Номер поставщика, Номер детали, Номер изделия, Количество
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
CREATE TABLE number_postavchiki
(
number_postavchik  INT                
lastname           nVarchar(100), 
rating       FLOAT, 
city              nvarchar(100)
)
 
CREATE TABLE #ДЕТАЛИ
(
number_tools      INT                 
name_tools            nVarchar(100), 
colour              nvarchar(100), 
weight                 FLOAT, 
city               nvarchar(100)
)
 
CREATE TABLE product(
number_product     INT                 
name_product            nVarchar(100), 
city             nvarchar(100)
)
 
CREATE TABLE  delivery
(
number_postavchiki  INT                 
number_tools      INT                
number_product     INT                
amount         INT
)
Запрос должен соответствовать следующему предложению : Получить для каждого изделия информацию о поставщике, выполнившем более половины общего объема поставок для изделия. Если такого поставщика нет – написать ‘отсутствует’.
Я написал все, кроме :Если такого поставщика нет – написать ‘отсутствует’. Как это можно реализовать уже какой день над этим бьюсь?
Вот соответственно мой запрос :
MySQL
1
2
3
4
5
6
7
8
9
10
select lastname, rating, city from postavchiki
join
(select number_postavchik, number_product, amount from delivery) postav
on
postav.number_postavchik = postavchiki.number_postavchik
join
on
(select delivery.number_postavchik as postavchik, delivery.number_product as Prod1, delivery.amount, sum(amount)/2 as sum_pol from delivery group by Prod1) summ
on
postav.amount > summ.sum_pol and postav.number_product = summ.Prod1;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2016, 19:06
Ответы с готовыми решениями:

Вызвать запрос созданный в SQL сервер и прикрепить к DataGrid
Можно ли как-то вызвать запрос созданный в SQL сервер и прикрепить к DataGrid.

Заполнить заранее созданный file1, и из этого файла скопировать содержимое в заранее созданный file2
Суть проги в том,чтобы я заполнил заранее созданный file1 из консоли и из этого файла содержимое скопировалось в заранее созданный file2,но...

Проект созданный в более ранней версии VS запускается, а созданный проект в VS 10 с теми же исходниками не запускается
Собственно, вопрос в заголовке. Скачал я урок по OpenGL от NeHe (урок 22), решил запустить у себя в VS10 - получилось (но только, vs...

6
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
02.11.2016, 09:25
ilya0610, для начала, в таблице "Поставки" ошибка, в ней не задан первичный ключ. По поводу условия,
логично предположить, что возможно дело в использовании не того join'а. Везде в запросе используется обычный join. В условии сказано "если поставщика нет...". Видимо, нужно при объединении таблицы с поставщиками использовать left/right join, чтобы захватить тех поставщиков, которые не попадают под некоторые условия.
1
1 / 1 / 2
Регистрация: 18.11.2013
Сообщений: 337
02.11.2016, 18:00  [ТС]
Meridian21, Вроде получилось, можно еще один вопрос есть вот такой запрос : Выбрать все пары деталей такие, что обе детали имеют одинаковый цвет, изготавливаются в разных городах, но поставляются в один город(т.е необходимо вывести город изделия, потому что изделие состоит из деталей и это деталь куда-то поставляется). Вывести номер детали1, наименование детали1, номер детали2, наименование детали2, цвет, город изделия. Получилось реализовать первую часть, но с город изделия никак. Можете, что-то посоветовать?
MySQL
1
2
3
4
5
6
7
select t1.number_tools as numb1, t1.name_tools as name1, 
t2.number_tools as numb2, t2.name_tools as name2, 
t1.colour as t_colour, product.city 
from tools as t1, tools as t2, product 
where t1.number_tools <> t2.number_tools and 
t1.colour = t2.colour and 
t1.city <> t2.city;
0
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
03.11.2016, 09:20
ilya0610, давай разбираться. Если я правильно понял, то поле tools.city - это город, где деталь была сделана, поле product.city - это ... город, в котором собрано изделие из деталей, которые были в него отправлены? Ну, типа, пачка деталей уехала в город_N и там была собрано изделие номер_5?
Если это так, то привязать деталь к городу изделия можно, видимо, только так:

SQL
1
2
3
4
5
SELECT w.name_tools, e.name_product, w.city, e.city FROM delivery q, tools w, product e 
WHERE 1=1 
AND w.number_tools=q.number_tools 
AND e.number_product=q.number_product
AND w.city=e.city
Запрос можно переписать через явное объединение и добавить к первой части.
0
1 / 1 / 2
Регистрация: 18.11.2013
Сообщений: 337
03.11.2016, 10:24  [ТС]
Meridian21, Я как понимаю, у меня получилось различные пары деталей, которые имеют одинаковый цвет, и поставляются из разных городов, также есть изделие или изделия, которое состоит из этих деталей и никаких кроме этих найденных пар и у этого изделия есть город, его я соответственно хочу получить

Добавлено через 1 минуту
Meridian21, Я должен взять эти детали, найти по ним изделие и потом отобразить город данного изделия
0
Zero day
 Аватар для Meridian21
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
03.11.2016, 12:37
ilya0610, не совсем понятно. Готовое изделие состоит только из 2 деталей? Если, например, изделие состоит из 15 деталей, 14 деталей поступили из города_А, а 1 деталь из города_Б, то, тогда, данное изделие, вернее 2 детали (в случае совпадения по цвету и несовпадения по городу-производителю), должны попасть в выборку.
И второй вопрос, что значит "пара деталей"? Все-таки изделие состоит из 2-х деталей? Иначе, по какому критерию идет объединение в пары?
0
1 / 1 / 2
Регистрация: 18.11.2013
Сообщений: 337
03.11.2016, 12:56  [ТС]
Meridian21, Изделие может состоять, как из одной детали, так и из 2 и более. Про пары деталей: В задание написано составить все пары деталей, которые имеют одинаковый цвет, изготавливаются в разных городах, но поставляются для изделия в один город
Номер поставщикаНомер деталиНомер изделия
S1P1J1
S1P1J4
S2P3J1
S2P3J2
S2P3J3
S2P3J4
S2P3J5
S2P3J6
S2P3J7
S2P5J2
S3P3J1
S3P4J2
S4P6J3
S4P6J7
S5P2J2
S5P2J4
S5P5J5
S5P5J7
S5P6J2
S5P1J4
S5P3J4
S5P4J4
S5P5J4
S5P6J4

Номер деталиНазваниеЦветВесГород
P1ГайкаКрасный12Лондон
P2БолтЗеленый17Париж
P3ВинтГолубой17Рим
P4ВинтКрасный14Лондон
P5КулачокГолубой12Париж
P6БлюмКрасный19Лондон

Номер изделияНазваниеГород
J1Жесткий дискПариж
J2ПерфораторРим
J3СчитывательАфины
J4ПринтерАфины
J5Флоппи-дискЛондон
J6ТерминалОсло
J7ЛентаЛондон

Город этого изделия я и не могу никак вывести
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2016, 12:56
Помогаю со студенческими работами здесь

Отпустить созданный файл
Доброго времени суток! Сразу к делу, создаю файл так: File.Create(filePath); После чего, не делаю с файлом никаких манипуляций,...

Динамически созданный TADOQuery
Доброго времени суток. Возможно задам глупый вопрос, но все же... Создаю объект TADOQuery TADOQuery *qMain = new...

Отобразить созданный каталог
Всем привет! Создаю папку. По идее все элементарно. Но в дереве после создания диалогом QInputDialog не отображается. На всякий случай...

Созданный компонент TStringGrid
Вот задание Этапы выполнения работы: 1. Разработка компонента 2. Компонент должен содержать следующие методы: • Очистка поля...

CSS созданный Illustrator-ом
&lt;style type=&quot;text/css&quot;&gt;&lt;!]&gt; &lt;/style&gt; Согласно описания !&lt;script type=&quot;text/javascript&quot;&gt; //&lt;!]&gt; &lt;/script&gt; &lt;script...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru