繁体   English   中英

从另一个表更新一个表

[英]Updating a table from another table

我有一个查询下面的工作。 我的问题是,我似乎无法对其进行更改,因此,除非StudentID = 0,否则每次都会更新可用性表中的LessonTaken字段。 因此,仅当StudentID <> 0时才希望它更新字段;

UPDATE Availability SET LessonTaken = 'Y'
WHERE (
   SELECT LessonID
   FROM Lesson
   WHERE Availability.StudentID = Lesson.StudentID
);

表格如下:

可用性:

AvailabilityID学生ID开始时间结束时间LessonTaken NoOfFrees

课:

LessonID StudentID StartTime结束时间DayOfWeek LessonPaid。

我有一个查询,它选择空闲时间最少的学生(选择DayOfWeek,StartTime,EndTime),并将其插入到LessonTable中相应的字段中。 这是一个时间表计划。 我希望这很清楚,非常感谢:)

这是用于T-SQL,使用join

update avail
    set LessonTaken = 'Y' 
from Availability avail
    join Lesson less on avail.StudentID = less.StudentID
where avail.StudentID <> 0

祝好运

添加您想要帮助的条件吗?

UPDATE Availability
    SET LessonTaken = 'Y'
WHERE Availability.studentID <> 0 AND
      (SELECT LessonID
       FROM Lesson
       WHERE Availability.StudentID = Lesson.StudentID
      );

这听起来可能很愚蠢,但是您是否尝试过:

UPDATE Availability SET LessonTaken = 'Y'
WHERE (SELECT LessonID
       FROM Lesson
       WHERE Availability.StudentID = Lesson.StudentID
       AND Lesson.StudentID != 0 
       );

?? 希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM