Я работаю с JDBC и PostgreSQL, и я должен сделать следующее:Использование JDBC написать запрос
/*
* Return list of film titles whose length is equal to or greater
* than the minimum length, and less than or equal to the maximum
* length.
*/
public List<String> getFilmTitlesBasedOnLengthRange(Connection connection,
int minLength, int maxLength) {
List<String> result = new LinkedList<String>();
return result;
}
Я пытался сначала решить эту проблему, написав запрос в PostgreSQL (не уверен, если это даже правильно):
SELECT title
FROM dv_film A, dv_film B
WHERE (A.length >= (COUNT(length) ASC LIMIT 1)) AND (B.length >= (COUNT(length) DESC LIMIT 1));
dv_film соотношение:
CREATE TABLE dv_film (
film_id integer,
title varchar(50),
description text,
length smallint,
rating mpaa_rating
);
Моя попытка пытается решить эту проблему является:
public List<String> getFilmTitlesBasedOnLengthRange(Connection connection,
int minLength, int maxLength) {
List<String> result = new LinkedList<String>();
PreparedStatement st = conn.prepareStatement("SELECT title FROM dv_film A, dv_film B WHERE (? >= (COUNT(length) ASC LIMIT 1)) AND (? >= (COUNT(length) DESC LIMIT 1));");
return result;
}
здесь есть несколько проблем. sql кажется очень смущенным, я бы использовал BETWEEN для этого, mutliple aliases кажутся ненужными здесь. сначала попробуйте упростить это, а затем посмотрите учебник jdbc. –