我正在一个网站上工作,大学将提供学生的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"
答案 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了解学习加入