У меня есть задание, с которым у меня возникают проблемы, поскольку это для моих исследований, я был бы признателен, если бы вы не дали мне ответ прямо, а вместо этого дал мне подсказки (я не хочу обманывать).Применение нескольких условий SQL?
У меня есть три стола: фильмы, звезды и акты. Я хочу получить фильмы. Некоторым актерам (в данном случае, Кэмерон Диаз), но я хочу показать ее ПОСЛЕДНИЙ фильм. Таким образом, в основном существуют два условия: состояние имени и год выпуска.
Я очень близко к нему, но я застрял в жизненно важной части. Если я применяю условия отдельно, они работают, но мне нужно иметь все это в одном утверждении. Это то, что я до сих пор.
SELECT M.Title, M.Yearreleased
FROM Movies M NATURAL JOIN Stars S NATURAL JOIN ActsIn A
WHERE Yearreleased = (SELECT MAX(Yearreleased) FROM Movies)
Это отобразит фильмы, выпущенные в последний год. Если я поменять условие WHERE этого утверждения с:
WHERE S.Familyname = 'Diaz'
я буду получать все фильмы Кэмерон Диаз действовали в
Я попытался следующие кодовые комбинации, которые я думал, что будет работать:.
SELECT M.Title, M.Yearreleased
FROM Movies M NATURAL JOIN Stars S NATURAL JOIN ActsIn A
WHERE Yearreleased = (SELECT MAX(Yearreleased) FROM Movies) AND S.Familyname = 'Diaz'
Мои результаты по этому запросу были буквально пустым столом.
Все, что я думаю, мне нужно, это для вас, ребята, дать мне подсказку о том, как я могу присоединиться к этим двум условиям в одном утверждении. СПАСИБО! Дайте мне знать, если вам нужны примеры данных или скрипку
UPDATE
Я думаю, что я, возможно, решил это, хотя я его полной аварии, может быть, вы могли бы объяснить мне, почему это работает? Вопрос:
SELECT M.Title, M.Yearreleased
FROM Movies M
NATURAL JOIN Stars S
NATURAL JOIN ActsIn A
WHERE Yearreleased = (SELECT MAX(Yearreleased)
FROM Movies M
NATURAL JOIN Stars S
NATURAL JOIN ActsIn A
WHERE S.Familyname = 'Diaz')
AND S.Familyname = 'Diaz'
Это выводит последний фильм, выпущенный Кэмерон Диаз.
Вы должны использовать группу по запросу, где он выбирает Макс из даты фамилии.Это не обязательно должен быть вложенным запросом. –
Каково ваше сообщение об ошибке, хотя есть много способов сделать это, но для того, чтобы узнать из вашей ошибки, вам нужно разобрать, что является вашим сообщением об ошибке, и позволяет другим объяснять для u =) –
Вы можете положить предложение AND между такими условиями, как: WHERE column1 = 'x' AND column2> 100 –