2016-03-27 13 views
1

私の外部キーテーブルの各列の値を取得しようとしています。だから私はを使ってテーブルを正規化します。第2正規形ここで私はテーブルを2つに分割します。下の写真。外部キーテーブルから値を取り出す方法は?

1st Table

私の主キーがSECTION_ID第二表にSECTION_IDを参照している第一表。私はレコードが存在するかどうか検索するSECTION_NAMEための値を指定する。ここ

2nd Table

。ユーザーが既存のレコードを入力したときにしたいことForeign Keyテーブルのすべての値を取得したい。私はどうしますか?

コード

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"); 
      }} 

は、私は外部キーのための別の選択クエリを作成する必要がありますか?私は値を取得したいからではないと思う。私が間違っているなら私を訂正してください。お気軽にコメントしてください。ありがとう! :)

+0

参加していけないのはなぜ必要な値を取得しますか? –

答えて

0

LEFT JOINキーワードは、左側の表(table1)からすべての行を戻し、右側の表(table2)に一致する行を戻します。一致がない場合、結果はNULLになります。

チェックこのSQL Left JOIN

使用select * from allsections_list A left outer join allsections_settings S on A.Section_ID = S.Section_IDとは、あなたが使用

+0

ありがとうございます! – Francisunoxx

+0

いつでもようこそ。 –

関連する問題