|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.06.2017, 08:57 | #1 |
Пользователь
Регистрация: 06.06.2017
Сообщений: 41
|
Задачи по sql (Ships, Battles)
и снова здравствуйте!
Подскажите пожалуйста, не понимаю условия задачи можете разъяснить? Потопить в следующем сражении суда, которые в первой своей битве были повреждены и больше не участвовали ни в каких сражениях. Если следующего сражения для такого судна не существует в базе данных, не вносить его в таблицу Outcomes. Замечание: в базе данных нет двух сражений, которые состоялись бы в один день. схема базы во вложении, прошу не решить за меня, а пояснить условия |
09.06.2017, 09:05 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Найти все суда которые в первом своем сражении были повреждены и каждому из них в следующем сражении с их участием, если оно было, сделать бум
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.06.2017, 09:14 | #3 |
Пользователь
Регистрация: 06.06.2017
Сообщений: 41
|
select *
from Outcomes where result = 'damaged' таким образом мы найдем все суда которые были повреждены, а как понять количество его сражений есть мысль подзапросом сделать |
09.06.2017, 09:16 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Не просто повреждены, а в первом сражении с их участием. А количество сражений не нужно, нужно найти следующее если оно было
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.06.2017, 09:28 | #5 |
Пользователь
Регистрация: 06.06.2017
Сообщений: 41
|
а с помощью чего это сделать? не совсем понимаю((
|
09.06.2017, 09:29 | #6 |
Пользователь
Регистрация: 06.06.2017
Сообщений: 41
|
надо получается соединять с таблицей battles?
|
09.06.2017, 09:36 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
09.06.2017, 09:49 | #8 |
Пользователь
Регистрация: 06.06.2017
Сообщений: 41
|
select o.ship, min(b.date) date
from Battles b, Outcomes o where b.name = o.battle and o.result = 'damaged' group by o.ship, date |
09.06.2017, 09:54 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Группировка по дате не нужна, а o.result = 'damaged' обрежет все сражения без повреждения. А как быть с первым сражением?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.06.2017, 10:28 | #10 |
Пользователь
Регистрация: 06.06.2017
Сообщений: 41
|
[QUOTE=Аватар;1686002]Группировка по дате не нужна, а o.result = 'damaged' обрежет все сражения без повреждения. А как быть с первым сражением?[/QUOT
я конкретно запутался( |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SQL: Статистика : годы и сотрудники, решение задачи | Geometry | SQL, базы данных | 2 | 19.10.2014 09:48 |
задачи sql | kolyan4 | Фриланс | 8 | 22.01.2011 23:53 |
Задачи на SQL (Oracle) | soleil@mmc | SQL, базы данных | 1 | 18.01.2010 17:55 |
Помогите, пожалуйста, с написанием задачи в Transact SQL | Student'ochka | SQL, базы данных | 2 | 24.05.2009 17:21 |