假设我有以下情况:我有一些城市有建筑物。每个城市被划分为区。每个区都应该有一个“主屋”(每个区一个)。
我有(sql server 2005)一个相应的关联表CITY_BUILDS (IDCITY, IDBUILD)
我还有一个建筑物表BUILD (ID, DISTRICT, IS_MAIN, COLOR)
所以,说市长决定用区列表中第一栋房子的颜色重新粉刷各区的“主屋”(疯狂的想法,但无论如何)
我需要在一个城市 foreach 区中选择“主屋”,然后搜索第一个区的房屋,查看它的颜色并绘制主屋。
我为我的程序开始了一个存根,但很快就感到困惑......
DECLARE L_CURSOR CURSOR FAST_FORWARD FOR
SELECT B.DISTRICT, B.IS_MAIN, B.ID
FROM BUILD B
INNER JOIN CITY_BUILDS C_B
ON B.ID = C_B.IDBUILD
WHERE IDCITY = 142 --AND B.IS_MAIN=1
ORDER BY DISTRICT
PS。第一栋建筑,我的意思是 CITY_BUILDS 列表中的任何第一次出现......另外,“第一”房子不应该是 MainHouse 本身......
聚苯乙烯。我使用了一个游标,因为一旦我在实际项目中获得了这对 (ID_MAIN_HOUSE - ID_FIRST_HOUSE),我需要用这两个参数和颜色调用一个存储过程......