Stránka 1 z 1

Pomoc s SQL

Napsal: 07 pro 2021 17:19
od BeHappy
Dobrý večer, chtěl bych se zde zeptat zda někdo z vás neví jak správně upravit tento dotaz...

Kód: Vybrat vše

SELECT a.Statni_poznavaci_znacka, a.Rok_vyroby, a.Motor, a.ID_země, v.Znacka, m.Nazev, mv.Generace
FROM Automobil a
INNER JOIN ModelXVyrobce mv ON mv.ID_generace = a.ID_generace
INNER JOIN Vyrobce v ON v.ID_vyrobce = mv.ID_vyrobce
INNER JOIN Model m ON m.ID_vyrobce = v.ID_vyrobce


Jde mi o to, že potřebuju spojit 4 tabulky mezi sebou nicméně vždy to dopadlo tak, že se mi výsledky ve výstupu duplikují tak nevím, kde přesně je chyba. Původně jsem to měl bez té tabulky "Model" a to fungovalo v pohodě.

Struktura:
► Zobrazit spoiler


Předem děkuji za případnou pomoc.

Re: Pomoc s SQL

Napsal: 07 pro 2021 18:07
od petrmet
Pokud se duplikují po připojení tabulky Model, tak asi jsou v této tabulce duplicitní záznamy podle ID_vyrobce. Jestli tomu dobře rozumím, tak posledni join by měl být
m.ID_vyrobce = v.ID_vyrobce and m.ID_model=mv.ID_model

Re: Pomoc s SQL

Napsal: 07 pro 2021 18:44
od BeHappy
Máš pravdu. Bylo mi jasný, že v tom bude nějaká blbost a byla no :D Nakonec stačilo tabulku Model propojit právě pomocí ID_model nikoli ID_vyrobce. Díky!

Re: Pomoc s SQL

Napsal: 08 pro 2021 08:05
od petrmet
Ten ID_vyrobce bych tam nechal. Co když budou mít 2 různí výrobci stejný model ?