Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

piotrekn

[Transact-SQL] Obliczanie różnicy i dobieranie tabeli z innej bazy

Polecane posty

Mam dwa problemy.

Pierwszy z nich polega na obliczeniu różnicy w jednej kolumnie miedzy dwoma sąsiednimi wierszami. Co i gdzie powinienem wrzucić? Potrzebny mi sub-select?

Drugi to dołączenie do tabeli wynikowej wartości z sąsiedniej bazy. Mam tabelę, z której pobieram istotne informacje, ale brakuje jeszcze jednej wartości liczbowej (stałej dla danej tabeli), określonej w osobnej tabeli w osobnej bazie. Da się to zrealizować pojedynczym selectem? Wolałbym uniknąć powtarzania zapytań do bazy, a ta liczba jest mi potrzebna do obliczeń.

Link do komentarza
Udostępnij na innych stronach

1. Nie mam pomysłu aby zrobić to bez podzapytania, więc powiedziałbym, że, jak sam zasugerowałeś, musisz go użyć. Pozostaje jeszcze określenie, co rozumiesz przez "sąsiednie wiersze".

2. Mógłbyś stworzyć połączenie do tej drugiej bazy. Nie jestem specem od mssql, ale http://msdn.microsoft.com/en-us/library/ms190479.aspx powinno pomóc. Tworzysz raz, a następnie po prostu odwołujesz się do bazy w select. Inna opcja to skopiowanie danej tabeli ze stałymi i okresowa synchronizacja.

Link do komentarza
Udostępnij na innych stronach

1. Sąsiednie wiersze, to znaczy kolejne. Wykorzystałem podzapytanie, a w nim kolejne (znajduję najwyższą datę mniejszą od tej w aktualnym wierszu, pobieram dla niej wartość szukanej kolumny i odejmuję od aktualnej)

2. Na razie rozwiązałem to przywołaniem szukanej wartości do zmiennej. Później będę się bawił w subselecta/joina.

Problemy rozwiązane. Temat w zasadzie do zamknięcia.

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...