如何更新第3张表?

时间:2014-05-09 09:48:33

标签: asp.net sql sql-server ado.net

我正在一个网站上工作,大学将提供学生的LoginID和密码。我正在设计一个包含FirstName,MiddleName,LastName,DOB,Email,MobileNo,PhoneNo,PreviousName,FathersName,InstituteName,Gender和Password字段的网页。

值将转到三个不同的表。我使用LoginID for WHERE语句来更新两个表,但第三个表没有LoginID列。第三个表具有FirstName,MiddleName,LastName,PreviousName,FathersName和UserDetailID列。 UserDetailID列也出现在其他两个表中。

如何更新第三张表?

我所做的一切就是我从Session中检索LoginID并在WHERE语句中使用它,我无法为第三个表做,因为LoginID列不存在于第三张桌子。我没有权限在表格中添加任何新列。

我已经尝试过了;

update UserDetail
 set FirstName = @FirstName, 
       MiddleName = @MiddleName, 
       LastName = @LastName, 
       Mobile = @MobileNo, 
       Phone = @PhoneNo, 
       PeviousName = @PreviousName, 
       FathersName = @FathersName, 
       DateOfBirth = @DOB, 
       Gender = @Gender 
  where LoginID = @LoginID"

1 个答案:

答案 0 :(得分:0)

你必须根据常用列连接表,它是sql的基础。

更新也可以加入如下:

update UD 
   set FirstName = @FirstName, 
       MiddleName = @MiddleName, 
       LastName = @LastName, 
       Mobile = @MobileNo, 
       Phone = @PhoneNo, 
       PeviousName = @PreviousName, 
       FathersName = @FathersName, 
       DateOfBirth = @DOB, 
       Gender = @Gender 
FROM UserDetail UD
   INNER JOIN LOGIN L--OR whatever your table name is 
     ON L.UserDetailID =UD.UserDetail 
        WHERE UD.LoginID = @LoginID

请参阅Join Fundamentals了解学习加入