SQL uzupełnianie pustych danych danymi po kluczu z tabeli

0

Efektem zapytania jest tabela zawierająca w jednej kolumnie numer zamówienia.
Lini z takim samym numerem zamówienia jest klika z małą równicą.
Są dodatkowe kolumny jak początek zamówienia i koniec zamówienia.
Problem w tym ze dla niektórych linii początek zamówienia jest pusty dla niektórych koniec zamówienia jest pusty a dla kolejnych kilku obie te kolumny są puste.
Jak w obrębie numeru zamówienia kolumny początek i koniec zamówienia się nie różnią to problemem jest ze czasem są puste.
Pytanie jak u zaktualizować te puste by na wszystkich zamówieniach kolumny początek i koniec zawierały to samo.

Ktoś coś może lub jakiś przykład
Z góry dziękuję za pomoc.

0

Nie jestem do końca pewien czy dobrze rozumiem .. że chcesz aby wszystkie rekordy z tym samym numerem zamówienia miały wypełnione obie kolumny "poczatek" i "koniec" zamówienia bazujac na któryś z rekódrów który hest wypełniony ? jeśli tak to ...

Update [tabela]
SET [poczatek] = p.[poczatek]
       ,[koniec] = k.[koniec]
From Tabela t
LEFT JOIN (Select numerZamowienia, poczatek 
                  FROM Tabela 
                  WHERE poczatek is not null) p
ON t.numerZamowienia = p.NumerZamowienia

LEFT JOIN (Select numerZamowienia, koniec
                  FROM Tabela 
                  WHERE koniec is not null) k
ON t.numerZamowienia = k.NumerZamowienia

0

Sposób zacny tylko problemem jest to ze sama Tabela to nie tabela tylko wynik mocno rozbudowanego zapytanie mocno zagmatwane joinami (opis był możliwie by nie komplikować)
No i w takim przypadku metoda update nie zadziała chyba .
Podsumowując jak to zrobić jeśli tabelą jest wynik z selecta?

0

Ciężko mi z głowy pisać teraz. Ale:
W select robisz coś w stylu (CASE WHEN kolumna IS NOT EMPTY THEN kolumna ELSE (SELECT ...) END ) AS kolumna. Możesz skorzystać z kodu tego update, tylko zmieniasz to na select. Z paroma modyfikacjami powinno być okej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1