2013-07-05 2 views
0

Я использую Java в сочетании с SQL, а также Oracle Database для извлечения содержимого из загруженной электронной таблицы. Если у меня есть столбец с именем каждого ученика, и у меня есть столбец со средним значением, и я хотел бы получить среднее значение для всего класса, например, тогда проверьте, превышает ли средний уровень ученика средний класс и помещает те студенты, которые соответствуют этим стандартам на отдельной таблице, как бы я это сделал? У меня есть идея, но я не уверен, правильно это или нет. Поправьте меня если я ошибаюсь.Создание новой таблицы с использованием Java/SQL На основе значений

//Select student averages so I can get each student's individual score 
resultset = st.executeQuery("SELECT Student_Averages FROM table"); 
//Get the class average 
stavg = "SELECT Avg(Student_Averages)) AS classAverage FROM table"; 
rs = st.executeQuery(stavg); 
//Iterate through their individual scores and store them in a float variable to 
//compare them later. 
while(resultset.next()){ 
    float studentaverage = resultset.getFloat("Student_Averages"); 
} 
//Store the class average in a float variable    
float classaverage = stavg.getFloat("Student_Averages"); 
//Compare the individual student average to the class average 
if(studentaverage >= classaverage){ 
//Generate new table with student names 
}  

Я новичок в работе с базами данных. Я не уверен, как создать новую таблицу с именами тех студентов, которые отвечают требованиям. Буду признателен за любую помощь!

+0

Я не вижу, как это будет компилировать. 'getFloat' не является методом для класса String, поэтому' stavg.getFloat («Student_Averages»); 'будет терпеть неудачу. Это должно быть в JAVA? Вы можете просто использовать SQL. – dougEfresh

+0

Это функция ResultSet –

ответ

0

Во-первых, это движение decleration вне цикла

while(resultset.next()){ 
    float studentaverage = resultset.getFloat("Student_Averages"); 
} 

Во-вторых, так как вы сделали

stavg = "SELECT Avg(Student_Averages)) AS classAverage FROM table"; 

Вы должны изменить

float classaverage = stavg.getFloat("Student_Averages"); 

Для

float classaverage = stavg.getFloat("classAverage"); 

Наконец на ваш вопрос: использовать это, чтобы за столом создающих

st.executeUpdate("CREATE TABLE IF NOT EXISTS tableName (id INT , studentName VARCHAR(SIZE))"); 

Затем используйте это, чтобы вставить данные в таблицу

String insert = String.format("INSERT INTO tableName("id","studentName") VALUES ('%s','%s)" , idOfStudent someStudentName); 

st.execute(intsert); 
+0

Спасибо за вашу помощь. Ran! – user2554121

Смежные вопросы