![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 1 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Tabela 1. Producenci Kod ID MARKA 1 Sony 2 Samsusng 3 Lg Tabela 2. Towary Kod ID ID_PRODUCENTA NAZWA 1 2 monitor 2 2 telewizor 3 3 dvd-rom Do tej pory dane wybieralem przy pomocy LEFT JOIN:
Stosujac ujemne wartosci w polu ID_PRODUCENTA (nie majace odpowiednikow w tabeli Producenci) okreslam np: ID_PRODUCENTA = -1 gdy nieznany producent z terenu Europy ID_PRODUCENTA = -2 gdy nieznany producent z terenu Azji itd... W takich przypadkach otrzymuje w wynikowym zapytaniu pole MARKA wypelnione wartoscia NULL a ujemna wartosc pola ID_PRODUCENTA wskazuje jaki komunikat ma zostac wyswietlony przy danym produkcie z powodu braku producenta. Minusem tej 'calej zabawy' jest koniecznosc sprawdzania przy usuwaniu rekordow z tabeli Producenci, czy nie ma jakis rekordow w tabeli Towary podpietych pod usuwanego producenta. Zdaje sobie sprawe, ze mozna to wykonac w sposob bardziej profesjonalny przy wykorzystaniu kluczy i relacji laczacych obie tabele. Moze mi ktos podsunac pomysl? Czy jest mozliwosc utowrzenia takiej relacji, ktora nie wymusza posiadania prawidlowego klucza przez tabele podrzedna (chodzi o ujemne ID_PRODUCENTA)? Jezeli nie, to w jaki sposob rozwiazac ten problem? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:31 |