2011-04-28 42 views
1

我有兩個SQL表,包括AttendanceID,StudentID,ModuleID,Present和Date字段的考勤表。另一個表是學生表,它具有StudentID字段和名稱字段。 我想生成一個SQL語句,它從考勤表中選擇AttendanceID,StudentID,ModuleID,Present和Date,但也根據在Textbox控件中輸入的StudentID選擇Student Table中的Name字段。 任何人都可以幫助我實現這一點,我想我需要一個子查詢,但我不知道如何做到這一點,因爲我只是一個初學MySQL的人。 這是我迄今爲止的代碼,用於選擇考勤表中的所有字段,但不根據所選StudentID從學生表中選擇姓名。選擇語句以根據在文本框中輸入的ID從兩個表中選擇記錄

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:RegisterConnectionString %>" 
        SelectCommand="SELECT * FROM [Attendance] WHERE ([StudentID] = @StudentID)"> 
        <SelectParameters> 
         <asp:ControlParameter ControlID="pnumTextBox" Name="StudentID" 
          PropertyName="Text" Type="String" /> 
        </SelectParameters> 
       </asp:SqlDataSource> 

在此先感謝!

回答

1

您需要加入StudentAttendance表以獲取該信息。這是一個可以做到這一點的查詢。

SELECT AttendanceID, Student.StudentID, ModuleID, Present, Date, Name 
FROM Attendance, Student 
WHERE Attendance.StudentID = Student.StudentID 
AND (Student.StudentID = @StudentID) 
+0

StudentID不明確,因爲它存在於兩個表中。更改提供的select語句@Ravi,以使用正確的TableName爲所有選定的列加前綴。即SELECT Student.AttendanceID,Student.StudentID,...等。或者,爲了便於閱讀,請使用[表別名](http://www.java2s.com/Tutorial/SQLServer/0020__Query/Tablealias.htm) – Smudge202 2011-04-28 10:53:21

相關問題