Nel server SQLTSQL - Il ciclo while è selezionato?
Ok, quindi sto lavorando con una tabella di database in cui le righe possono avere righe padre, che possono quindi avere righe padre proprie. Devo selezionare la 'riga' di root. Non conosco il modo migliore per farlo.
C'è un campo chiamato ParentId, che collega la riga alla riga con quell'ID. Quando ParentId = 0, è la riga radice.
Questa è la mia domanda ora:
SELECT Releases.Name,WorkLog.WorkLogId
FROM WorkLog,Releases
WHERE
Releases.ReleaseId = WorkLog.ReleaseId
and WorkLogDateTime >= @StartDate
and WorkLogDateTime <= @end
non si ha realmente bisogno il nome del rilascio dei bambini uscite, voglio solo la radice Nome Release, quindi voglio selezionare il risultato di un ciclo While come questo:
WHILE (ParentReleaseId != 0)
BEGIN
@ReleaseId = ParentReleaseId
END
Select Release.Name
where Release.RealeaseId = @ReleaseId
so che la sintassi è orribile, ma si spera che vi sto dando un'idea di quello che sto cercando di acheive.
quindi immagino ci sia più di una release con 'ParentReleaseId' pari a zero? – AakashM
Stai dicendo che la tabella delle versioni è gerarchica, ad esempio la Release X ha un predecessore, e quindi quella versione ha il suo predecessore, e così via? Quindi il problema è trovare la versione * originale * per ogni * rilascio * successivo che si verifica entro le date specificate? –
Spero che tu sia nel 2005 o più tardi, puoi confermare? –