次の状況があるとします。建物のある都市がいくつかあります。各都市は地区に分かれています。各地区には「メインハウス」(地区ごとに1つ)が必要です。
私は(SQL Server 2005)対応する関連テーブルCITY_BUILDS (IDCITY, IDBUILD)
を持っています私はまた建物テーブルを持っていますBUILD (ID, DISTRICT, IS_MAIN, COLOR)
それで、市長が地区リストの最初の家の色で地区の「メインハウス」を塗り直すことにしたとしましょう(クレイジーなアイデアですが、とにかく)
各地区の都市で「本館」を選択し、最初の地区の家を検索し、その色をのぞき、本館をペイントする必要があります。
手順のスタブを開始しましたが、すぐに混乱してしまいました...
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 自体であってはなりません...
PPS。実際のプロジェクトでペア (ID_MAIN_HOUSE - ID_FIRST_HOUSE) を取得したら、その 2 つの引数と COLOR を使用してストアド プロシージャを呼び出す必要があるため、カーソルを使用しました...