Cześć mam do was pytanie z którym borykam się już jakiś czas.Otóż mam tabelkę główną której wszystkie kolumny oprócz oczywiście ID są kluczami obcymi , połączone z tymi tabelkami z kluczami obcymi relacjami.Jej struktura wygląda tak:
tabelkaX(z której chce wyciągnąć dane):IDkolumna(PK) , IDKolumna2 (FK) , IDkolumna3 (FK)*
tabelkaY połączona z tabelką x relacją: IDKolumna1 (PK) , imię, nazwisk
tabelkaZ połączona z tabelką x relacją :IDkolumna1 (PK), miejscowość , pesel
i mam takie połączenia:
Select iks.imię,iks.miejscowość
from tabelkaX as iks
inner join tabelkaY as igrek
inner join tabelkaZ as zet
where
igrek.Imie='Jan' and zet.miejscowosc='Warszawa'
zakładając że mam tam dane powinno mi wyskoczysz ID kolumny w tabelce X z tymi danymi , i właśnie o to chodzi że nic nie wyskakuje.Z góry dziękuję za odpowiedź.
0
0
Tabela Dane:
DaneID PK
OsobaID FK
SamochodID FK
Tabela Osoba:
OsobaID PK
Imie
Nazwisko
Samochod
SamochodID PK
Marka
RokProdukcji
i z tabeli dane chce wyciagnac dane
Select o.Imie,s.Marka
from Dane as d
inner join Osoba as o on d.OsobaID=o.Osobaid
inner join Samochod as s on d.SamochodID=s.SamochodID
where o.Imie='Marek' and s.Marka='Ferrari' .
Takie dane w tych tabelach są , ale gdy wyciągnąć je chce z tabeli dane wypluwa mi puste odpowiedzi
0
Otóż już chyba doszedłem o co chodzi. W tabeli Samochód pobierałem dane za pomocą bulk insert i z pewnym powodów musiałem czyścic całą tabelkę , przy ponownym pobieraniu nie numerowało się od 1 ale od jakiejś większej liczy. W tabelce dane po wpisaniu komendy Select* from dane , wyskakuje mi SamochodID 1,2,3,4,5 itp , czyli odwołuje się do rekordu którego już nie ma . Czy wiecie jak to ugryźć ? Po wpisaniu :
Select
s.Marka,d.imie
from Dane as d
left join Osoba as o
on o.OsobaID=d.OsobaID
left join Samochod as s
on s.SamochodID=d.SanichodID
Where Imie='Marek' and Marka='Ferrari'
Pojawiają się wartości NULL co działać ?