Questione : T-SQL: Ottenere il conteggio del valido/corrente 1: Riferimenti di N come campo di ritorno

Ciao, il

I ha una procedura immagazzinata di T-SQL funzionare sul ms l'assistente 2005.


That di SQL che è la mia procedura immagazzinata esistente e funzionante devo estendere con un'altra caratteristica: class= " lineNumbers " >
1 del >

: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: il class= codeBody " prettyprint " del id= " codeSnippet831118 " del >
 ALTERA LA PROCEDURA [dbo]. [Get_OUAufsatz]
      @InternalOUID più uniqueidentifier     
      , @asOfDate come datetime = posizione di segnale minimo
    AS
    COMINCIARE

      REGOLARE NOCOUNT SOPRA;
      SE il @asOfDate è nullo
            REGOLARE il @asOfDate = il getdate ()
      SELEZIONARE [AufsatzId]
                  , [H_ValidSince]
                  , [H_ValidUntil]
                  , [H_UID]
                  , [InternalOUId]
                  , [Test1]
                  , [Test2]                           
             
            DA [dbo]. [OUAufsatz]
            DOVE
                  [InternalOUId] = @InternalOUID
                  E @asOfDate IN MEZZO [dbo]. [OUAufsatz]. [H_ValidSince]
                  E [dbo]. [OUAufsatz]. [H_ValidUntil]
il 

The di >

del class= di
That è un

Now che di domanda… devo estendere la domanda. Il seguente codice è un frammento di codice che funziona benissimo per se, ma devo integrare la relativa funzionalità nella procedura di cui sopra Get_OUAufsatzwerte del deposito: class= " lineNumbers " >
1 del >

del


: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: il class= codeBody " prettyprint " del id= " codeSnippet831119 " del >
 INTERNO SI UNISCE (
    Conteggio PRESCELTO (*) COME [conteggio], Assessment.AufsatzId
                                   Dalla valutazione
                                   INTERNO UNIRE OUAufsatz
                                   SU Assessment.AufsatzId = OUAufsatz.AufsatzId
                                   E OUAufsatz.H_ValidUntil = “3000-01-01„
 
                                   DOVE Assessment.H_ValidUntil = “3000-01-01„   
                                   GRUPPO da Assessment.AufsatzId
                          ) COME PROGRAMMA
                  SUL PROGRAMMA. [AufsatzId] = [OUAufsatz]. [AufsatzId]
class= >



What di


We di spiegazione historize ogni cambiamento nella base di dati che significa se qualunque campo per esempio nella tabella di OUAufsatz è cambiato un inserto/scritto dell'aggiornamento è eseguito che controlla se un gruppo di dati di Aufsatz/fila con determinato H_ValidSince e certi valori di H_ValidUntil sono già attuali. Se sì il campo di H_ValidSince ottiene il valore di datetime.now ed il campo di H_ValidUntil ottiene il valore “3000-01-01„ che significa che il gruppo di dati/fila è fila corrente/reale. Se non c'è appena un nessun certo altro roba… relativo fatto un metodo di historize per seguire tutto hehe.

And se ora osservate sopra il frammento di codice e lo confronta voi vedono che filtro alla valutazione e OUAufsatz.

Now io devono unire il mio frammento di codice con la procedura di cui sopra del deposito con roba come quel codice del

PSEUDO: class= " lineNumbers " >
1 del >


: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: il class= codeBody " prettyprint " del id= " codeSnippet831120 " del >
 SELEZIONA [AufsatzId]
                  , [H_ValidSince]
                  , [H_ValidUntil]
                  , [H_UID]
                  , [InternalOUId]
                  , [Test1]
                  , [Test2]                           
               [b], restituiscono [conteggio] se 0 allora altri falsi allineano come [IsInUse] [/b]
            DA [dbo]. [OUAufsatz]
            DOVE
                  [InternalOUId] = @InternalOUID
                  E @asOfDate IN MEZZO [dbo]. [OUAufsatz]. [H_ValidSince]
                  E [dbo]. [OUAufsatz]. [H_ValidUntil]
il class= >

and che di

My lo ha prodotto prevede sotto forma di tabella è questo (colonne visibili nell'interfaccia utente):

Test1…: … Test2…: … Il rapporto di IsInUse (scatola di controllo) di aka del campo di bool

The è che 1 OUAufsatz può avere molte valutazioni ma sono soltanto interessato nella valutazione che è modo H_ValidUntil di current/VALID = “3000-01-01„. l'aiuto del

Any è apprezzato:) il

If che avete bisogno di più Info dice appena, io prova ad aiutare tanto come posso!
class= del

Risposta : T-SQL: Ottenere il conteggio del valido/corrente 1: Riferimenti di N come campo di ritorno

si noti che deve ESSERE LASCIATO si unisce, altrimenti quelli che sono “non in uso„ non saranno restituiti…
Altre soluzioni  
 
programming4us programming4us