2013-12-23 16 views
0

我的應用程序中有一個GridView,我應該通過連接不同的表來顯示記錄列表。 SQL Join查詢顯示記錄,但在1000行內顯示2到3條記錄兩次。是因爲sql查詢嗎?使用SQL連接查詢在GridView中重複行

的SQL我使用的查詢是:

SqlDataAdapter da = new SqlDataAdapter("select dt.name, rg.sex, ad.dt_adm, st.* " + 
     "from stdn_st st, stdn_reg rg, stdn_det dt, admsn_det ad where st.college='" + 
     lbl_college.Text + "' and st.course='" + lbl_course.Text + "' and st.sem='" + 
     lbl_sem.Text + "' and st.pass='" + lbl_pass.Text + "' and rg.id=st.sid and " + 
     "dt.sid=st.sid and ad.sid=st.sid", con); 
+1

使用選擇不同的 – PeterRing

+2

你有沒有試過用'distinct'?還嘗試使用了'JOIN'語法,而不是舊的,如:'選擇不同 dt.name, rg.sex, ad.dt_adm, ST * 從stdn_st ST 內部聯接stdn_reg RG上RG。 ID = st.sid 內上dt.sid = st.sid加入stdn_det DT 內部聯接admsn_det廣告上ad.sid = st.sid 其中st.college = ' 「+ lbl_college.Text +」' 和st.course ='「+ lbl_course.Text +」'and st.sem ='「+ lbl_sem.Text +」'and st.pass ='「+ lbl_pass.Text +」'' –

+0

@PeterRing所有表格只包含唯一記錄。 –

回答

0

使用最新加入的語法。按照您的要求,您可以使用任何這些。

  1. INNER JOIN
  2. LEFT JOIN
  3. RIGHT JOIN
  4. OUTER JOIN
+0

我不知道這是如何回答這個問題?據我所知,OP錯過了'distinct'! –