Nimetu
FROM dbo.Laps_tbl AS L2
INNER JOIN VanimSynniA as VA ON L2.SynniLinn = VA.SynniLinn
AND L2.SynniAasta = VA.Aasta
GROUP BY L2.SynniLinn
)
UPDATE dbo.Laps_tbl
SET Ryhmajuht = P.LapsID
FROM dbo.Laps_tbl AS L3
INNER JOIN Pealikud AS P ON L3.SynniLinn = P.SynniLinn
WHERE L3.LapsID <> P.LapsID
GO
-- Määrame ka peetri kahe lapse rühmajuhiks
UPDATE dbo.Laps_tbl
SET RyhmaJuht = 12
WHERE LapsID IN (2,10)
-- lisame uue Lapse, kellest saab suurib pealik
DECLARE @UusLapsID INT
INSERT INTO dbo.Laps_tbl (Nimi, Synniaasta)
VALUES ('Roobert', 1988)
SET @UusLapsID = @@identity
UPDATE dbo.Laps_tbl
SET Ryhmajuht = @UusLapsID
WHERE Ryhmajuht IS NULL AND LapsID <> @UusLapsID
Kui kõik tehtud on meie tabel järgmine:
Alustame hästi lihtsast rekursiivsest päringust püüdes välja selgitada, kes alluvad Matile:
WITH Alluvad
AS
(
SELECT LapsID, Nimi, Ryhmajuht
FROM dbo.Laps_tbl
WHERE LapsID = 3