#programowanie #sql mam problem w mssql mianowicie 4 tabele WIZYTA - pacjent, ID LEKARZA, jakas data godzina i takie tam... USŁUGA - nazwa usługi, cena WYKONANE USŁUGI - ID WIZYTA + ID USŁUGA LEKARZ - imie, nazwisko, CENA ZA WIZYTE
na podstawie tych 3 tabel generuje sobie widok PARAGON na którym wypisuje mi usługi wykonane na danej wizycie + cene
chciałbym by na koncu tego paragonu dopisał się rekord z ceną za wizytę, którą przechowuje w tabeli Lekarza. Jakim poleceniem dołączyć to do widoku, tak by nie był to join a dodatkowy rekord w tabeli?
@ImHornyLetsF: na widoku/perspektywie nie da sie użyc inserta, albo ja nie umiem go poprawnie użyc :( jezeli cos takiego jest niemożliwe bez modyfikacji całej bazy to bede musiał odpuscic :)
Jedyne dwie rzeczy jakie mi przychodzą do głowy to albo trigger albo temporary table w którym sklejasz wszystko w całość. Chociaż przyznam, że w dalszym ciągu nie rozumiem co i dlaczego próbujesz zrobić.
@SzCzoteckY: Przez UNION zrobisz, ale tak nie rób. Potraktuj cenę za wizytę jako jedną z usług i doliczaj domyślnie z poziomu aplikacji. Inaczej zmiana tej ceny rozwali historię.
@plushy: uzasadnisz? Ani to obciążające zapytanie, żeby unikać poszukiwania dubli, a z podanych informacji wynika, że ten wiersz nie zduplikuje istniejących.
@makumba88: Kwestia higieny, zapytania należy pisać mając na uwadze to co chcemy osiągnąć a nie to że akurat działa. No chyba że chcesz by każdy kolejny programista analizował skąd te duble co chcesz je usuwać.
mam problem w mssql
mianowicie
4 tabele
WIZYTA - pacjent, ID LEKARZA, jakas data godzina i takie tam...
USŁUGA - nazwa usługi, cena
WYKONANE USŁUGI - ID WIZYTA + ID USŁUGA
LEKARZ - imie, nazwisko, CENA ZA WIZYTE
na podstawie tych 3 tabel generuje sobie widok PARAGON
na którym wypisuje mi usługi wykonane na danej wizycie + cene
chciałbym by na koncu tego paragonu dopisał się rekord z ceną za wizytę, którą przechowuje w tabeli Lekarza.
Jakim poleceniem dołączyć to do widoku, tak by nie był to join a dodatkowy rekord w tabeli?
Join spowoduje doklejenie mi tej wartosci cena za wizyte na koniec tych rekordów
data, godzina, usluga, cena, cena za wizyte
10.01.2017, 8:00, jakas usluga, 20.00,
jezeli cos takiego jest niemożliwe bez modyfikacji całej bazy to bede musiał odpuscic :)
UNIONzrobisz, ale tak nie rób. Potraktuj cenę za wizytę jako jedną z usług i doliczaj domyślnie z poziomu aplikacji. Inaczej zmiana tej ceny rozwali historię.Dzięki ;)