@maybevlad

Как составить запрос на SQL?

У меня есть задание: пользователь указывает название культуры; на базе этих данных вывести все сорты указанной культуры, которые не завершили испытания в поточном году.
Заполняя базу я ставил каждому сорту год испытания от 2016 к 2019 и лишь нескольким 2020. Каждый сорт повторяется два или больше раз, так как испытания проводились на разных станциях.
Проблема состоит в том, что я не могу вывести только определенный сорт, потому что даже когда он не испытывался в 2020 - то испытывался ранее, и поэтому мне выводит все сорта.
Подскажите, как можно это реализовать?
Мой код:
SELECT DISTINCT Sort.Name_Sort, Result.Years
FROM (Climat_zone INNER JOIN Station ON Climat_zone.ID_Climate_Zone = Station.ID_Climate_Zone) INNER JOIN ((Culture INNER JOIN Sort ON Culture.Id_Culture = Sort.ID_Culture) INNER JOIN Result ON (Sort.ID_Culture = Result.ID_Culture) AND (Sort.ID_Sort = Result.ID_Sort)) ON Station.ID_Station = Result.ID_Station
WHERE ((Culture.Name_Culture_UKR)=[Введите культуру]) ;

Пример исполнения:
5fb1d18557c3a421709726.jpeg
Так как, сорт 'Беллароза' не испытывался в 2020 году, нужно вывести только его одной строкой.
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
лень думать, а влепи что-то вроде MAX(Result.Years)
если год - проточный т.е. текущий, у тебя и выведутся лиюо текущий лиюо последний
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
hekkaaa
@hekkaaa
C#/.NET Developer
Привет. Думаю стоит попробовать group by Name_Sort.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы