2016-03-27 49 views
1

Yabancı Anahtar tablomdaki her sütunun değerlerini almaya çalışıyorum. Bu yüzden tablolarımı İkinci Normal Form kullanarak tablolarımı ikiye bölerim. Resim aşağıda. Benim Birincil Anahtar SECTION_ID 2 Tablo SECTION_ID başvuran olanYabancı Anahtar tablosundan değerler nasıl alınır?

1st Table

1 Tablo. Ben kayıt varsa aramak SECTION_NAME değerlerini sağlamak İşte

2nd Table

. Kullanıcı mevcut bir kaydı girdiğinde yapmak istediğim Yabancı Anahtar tablosunun tüm değerlerini almak istiyorum. Nasıl yapacağım?

Kod

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

Ben Yabancı Anahtar için bir başka seçme sorgusu oluşturmak gerekiyor mu? Sanırım bunun sebebi değerleri almak istiyorum. Yanlışsam düzelt. Yorum yapmaktan çekinmeyin. Teşekkürler!

+0

katılmak Yüklü Neden gereken değerleri almak? –

cevap

0

LEFT JOIN anahtar sözcüğü, tüm satırları soldaki tablodan (tablo1), eşleşen satırlar sağdaki tabloda (tablo2) döndürür. Eşleşme olmadığında sonuç sağ tarafta NULL.

Kontrol bu SQL Left JOIN

Kullanım select * from allsections_list A left outer join allsections_settings S on A.Section_ID = S.Section_ID ve kullandığınız

+0

Teşekkürler, çalışıyor! – Francisunoxx

+0

Her zaman beklerim. –