Zdravím.
Prošel jsem vlákna a nenašel odpověď na svou otázku, Pokud spamuju, tak se omlouvám
Řeším následující problém: Mám tři tabulky této struktury
1) tab_prikazci
`
CREATE TABLE IF NOT EXISTS tab_prikazci ( -- vytvoreni tabulek
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`divize` CHAR(5),
`ico` CHAR(30) UNIQUE KEY,
`nazev` CHAR(50) UNIQUE KEY)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS tab_destinace (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`misto` CHAR(50) NOT NULL UNIQUE KEY);
CREATE TABLE IF NOT EXISTS tab_cena (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`hodnota` INT NOT NULL,
`mena` CHAR(6) NOT NULL,
`platne_OD` DATE,
`platne_DO` DATE,
`aktualizace` TIMESTAMP)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS tab_historie (
`ID` INT NOT NULL,
`DIVIZE` CHAR(4),
`PRIKAZCE` CHAR(50),
`NAKLADKA` CHAR(30),
`VYKLADKA` CHAR(30),
`CENA` CHAR(6),
`POZNAMKA` CHAR(100))
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS tab_kombinace (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`IDp` INT,
`IDn` INT,
`IDv` INT,
`IDc` INT)
ENGINE = InnoDB;
Tabulka tab_kombinace obsahuje číselné hodnoty podle kterých bych chtěl vybírat údaje z ostatních tabulek
Např:
v tab_prikazci mám
ID nazev
1 Tesco
v tab_destinace
ID misto
1 Praha
2 Plzeň
tab_cena
ID hodnota mena
1 100 CZK
tab_kombinace
IDp IDn IDv IDc
1 2 1 1
Výstup by měl vypadat takto
Tesco Plzeň Praha 100 CZK
Nedaří se mi ale najít správní dotaz. Zkoušel jsem např toto
SELECT tab_prikazci.divize, tab_prikazci.nazev FROM tab_prikazci, tab_kombinace WHERE tab_prikazci.ID = tab_kombinace.IDp
UNION
SELECT tab_destinace.misto FROM tab_destinace WHERE tab_destinace.ID = tab_kombinace.IDc
UNION
SELECT tab_cena.hodnota, tab_cena.mena FROM tab_cena, tab_kombinace WHERE tab_cena.ID = tab_kombinace.IDc
ale nedostal jsem kýžený výsledek. Může mi sím Vás někdo poradit nebo alespoň nakopnout správným směrem?
Děkuji