我有3个表BusStop,BusRoute和Stop_Route(用于M-2-M关系)。一些停靠点没有关联(路线),我需要用位值1或0更新BusStop表中的每条记录,这取决于它是否有关联。我有一个查询来选择没有关系的所有停靠站:
SELECT
BusStop.StopId
FROM
BusStop
LEFT OUTER JOIN BusStop_BusRoute
ON BusStop.StopId = BusStop_BusRoute.StopId
WHERE
BusStop_BusRoute.StopId IS NULL
但我不清楚如何根据此结果来增加价值。我已经阅读了有关CURSOR和CASE WHEN语句的信息,但是我仍然不知道如何在我的情况下应用它们。我需要在其中插入该值的Bit的StopStatus列类型。
最佳答案
UPDATE BusStop
SET StopStatus =
CASE
WHEN BusStop_BusRoute.StopID IS NULL THEN 0
ELSE 1
END
FROM
BusStop
LEFT JOIN BusStop_BusRoute
ON BusStop.StopId = BusStop_BusRoute.StopId
关于sql - 如果行有关系如何插入BIT值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12492868/