SQL-pobieranie danych z tabeli głównej

Odpowiedz Nowy wątek
2019-11-16 18:41

Rejestracja: 2 lata temu

Ostatnio: 1 tydzień temu

0
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ź.
edytowany 1x, ostatnio: Cisi204, 2019-11-16 18:42
jaka baza danych?, gdzie sa twoje "on" cos stylu on iks.IDKolumna2 = igrek.IDKolumna1 (swoją drogą z takim nazewnictwem to powodzenia w utrzymaniu projektu ;-) - stic 2019-11-16 18:45

Pozostało 580 znaków

2019-11-16 18:57

Rejestracja: 2 lata temu

Ostatnio: 1 tydzień temu

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
edytowany 3x, ostatnio: Cisi204, 2019-11-16 19:12
ok, wyglada spoko na pierwszy rzut gałką, to teraz - czy masz dane w tych tabelach? commited? spróbuj z left join, i zobacz czy masz cokolwiek (będą null's), usuń where is sprawdź czy coś jest (może wszystko odfiltrowujesz) etc - stic 2019-11-16 19:29

Pozostało 580 znaków

2019-11-16 21:00

Rejestracja: 2 lata temu

Ostatnio: 1 tydzień temu

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ć ?
edytowany 3x, ostatnio: Cisi204, 2019-11-16 21:06
Wg mnie, wystarczy dodać odpowiednie dane. - _13th_Dragon 2019-11-16 21:40

Pozostało 580 znaków

Odpowiedz

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