Я пытаюсь получить значения каждого столбца таблицы внешнего ключа. Поэтому я нормализую свою таблицу, используя Вторая нормальная форма, где я разбиваю свои таблицы на две части. Рисунок ниже.Как получить значения из таблицы внешнего ключа?
первая таблица, где мой первичный ключ SECTION_ID
SECTION_ID
ссылки на 2-е таблицы.
Вот где я поставляю значение для SECTION_NAME
поиска, если существует запись. Что я хочу сделать, если пользователь вводит существующую запись, я хочу получить все значения таблицы внешнего ключа. Как я это сделаю?
Код
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String searchSection = Section_SearchSection_Textfield.getText();
String searchStudentLimit = Section_Student_Limit_ComboBox.getSelectedItem().toString();
String searchSECTION_NAME = "SELECT * FROM allsections_list WHERE SECTION_NAME = ?";
try (Connection myConn = DBUtil.connect();
PreparedStatement myFirstPs = myConn.prepareStatement(searchSECTION_NAME);)
{
myFirstPs.setString(1, searchSection);
try (ResultSet myRs = myFirstPs.executeQuery())
{
int resultCounter = 0;
while (myRs.next())
{
String mySectionName = myRs.getString(2);//Get the value of SECTION_NAME
Section_SectionName_TextField.setText(mySectionName);
Section_SectionName_TextField.setEnabled(true);
resultCounter++;
}
if (resultCounter == 1)//If exist
{
JOptionPane.showMessageDialog(null, "Data Found");
}
else//If not exist
JOptionPane.showMessageDialog(null, "No Data Found");
}}
Мне нужно создать еще один запрос на выборку для внешнего ключа ли? Я думаю, что это не потому, что я просто хочу получить ценности. Поправьте меня если я ошибаюсь. Не стесняйтесь комментировать. Благодаря! :)
Почему вы не используете присоединиться? –