Pytanie : T-sql: Dostawać the obliczenie the ważny/prąd (1): N odnosić się gdy powrotny pole

Cześć,

I mieć T-SQL Przechować Procedura bieg na MS SQL Serwer 2005.


That być mój i Zaopatrzony Procedura I musieć z inny cecha:


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
 ZMIENIAĆ PROCEDURA [dbo]. [Get_OUAufsatz]
      @InternalOUID uniqueidentifier     
      , @asOfDate jako datetime = null
    
    ZACZYNAĆ

      USTAWIAĆ NOCOUNT DALEJ;
      JEŻELI @asOfDate być null
            USTAWIAĆ @asOfDate = getdate ()
      WYBIERAĆ [AufsatzId]
                  , [H_ValidSince]
                  , [H_ValidUntil]
                  , [H_UID]
                  , [InternalOUId]
                  , [Test1]
                  , [Test2]                           
             
            OD [dbo]. [OUAufsatz]
            DOKĄD
                  [InternalOUId] = @InternalOUID
                  I @asOfDate POŚRODKU [dbo]. [OUAufsatz]. [H_ValidSince]
                  I [dbo]. [OUAufsatz]. [H_ValidUntil]



The nad SP wracać lista OUAufsatz przedmiot/rząd który satysfakcjonować the dokąd clause.
That być łatwy zapytanie…

Now I musieć the zapytanie. The następujący kod być kod odrzynek che praca świetnie dla, ale I musieć swój funkcjonalność w the swój Sklep Procedura Get_OUAufsatzwerte:




1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
 WEWNĘTRZNY ŁĄCZYĆ (
    WYBRANY Obliczenie (*) [Obliczenie], Assessment.AufsatzId
                                   OD Ocena
                                   WEWNĘTRZNY ŁĄCZYĆ OUAufsatz
                                   NA Assessment.AufsatzId = OUAufsatz.AufsatzId
                                   I OUAufsatz.H_ValidUntil = "3000-01-01"
 
                                   DOKĄD Assessment.H_ValidUntil = "3000-01-01"   
                                   GRUPA Assessment.AufsatzId
                          ) MAPA
                  NA MAPA. [AufsatzId] = [OUAufsatz]. [AufsatzId]




What być ten H_ValidSince i H_ValidUntil wcale? wyjaśnienie =>

We historyzować każdy zmiana w the baza danych który sposób jeśli wogóle pole w the e.g. OUAufsatz stół zmieniać wszywka/aktualizacja pismo wykonywać che sprawdzać jeżeli Aufsatz dataset/rząd z pewny H_ValidSince i pewny H_ValidUntil wartość już istnieć. Jeżeli tak the H_ValidSince pole dostawać the datetime.now wartość i the H_ValidUntil pole dostawać the wartość "3000-01-01" che znaczyć że dataset/rząd być the aktualny/faktyczny rząd. Jeżeli żadny niektóre inny materiał być robić… swój właśnie historyzować metoda swój hehe.

And jeżeli ty patrzeć teraz nad the kod odrzynek i the porównywać I ty widzieć że I filtrować the aktualny/faktyczny Ocena i OUAufsatz.

Now I potrzebować mój kod odrzynek z the mój Sklep Procedura z materiał jak ten

PSEUDO Kod:


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
 WYBIÓRKA [AufsatzId]
                  , [H_ValidSince]
                  , [H_ValidUntil]
                  , [H_UID]
                  , [InternalOUId]
                  , [Test1]
                  , [Test2]                           
               [B], wracać the [Obliczenie] jeżeli (0) wtedy fałszywy inny true [IsInUse] [/b]
            OD [dbo]. [OUAufsatz]
            DOKĄD
                  [InternalOUId] = @InternalOUID
                  I @asOfDate POŚRODKU [dbo]. [OUAufsatz]. [H_ValidSince]
                  I [dbo]. [OUAufsatz]. [H_ValidUntil]


and the kod odrzynek mus łączyć tutaj z the Istniejący SP-code.

My przesyłać I oczekiwać w płytkowy forma być łączyć (widoczny kolumna w the interfejs użytkownika):

Test1…: … Test2…: … IsInUse (bool śródpolny aka checkbox)

The powiązanie być że (1) OUAufsatz móc wiele Ocena ale I być tylko zainteresowany w the Ocena che być current/VALID sposób H_ValidUntil = "3000-01-01".

Any pomoc doceniać:)

If ty potrzebować więcej info właśnie mówić, I próbować równie dużo gdy I móc!

Odpowiedź : T-sql: Dostawać the obliczenie the ważny/prąd (1): N odnosić się gdy powrotny pole

zauważać że ono musieć OPUSZCZAĆ łączyć, inaczej, który być "w użyciu" wracać…
Inne rozwiązania  
 
programming4us programming4us