INNER JOIN полезен здесь? [Дубликат]

0
CREATE TABLE Masina(    
    idMasina INT PRIMARY KEY NOT NULL,    
    marca VARCHAR(20),     
    model VARCHAR(20),    
    pretFaraDotari DOUBLE
);

CREATE TABLE Dotari(    
    idDotare INT PRIMARY KEY NOT NULL,    
    dotare VARCHAR(30),    
    pret INT
);

CREATE TABLE Comenzi(    
    idComanda INT PRIMARY KEY NOT NULL,    
    idMasina INT,    
    pretTotal DOUBLE,    
    discount VARCHAR(10),    
    FOREIGN KEY (idMasina)
    REFERENCES Masina(idMasina) ON DELETE CASCADE ON UPDATE CASCADE
);

CREATE TABLE Com_Dot(
    idComanda INT,
    idDotare INT,
    FOREIGN KEY (idComanda)
    REFERENCES Comenzi(idComanda) ON DELETE CASCADE ON UPDATE CASCADE,

    FOREIGN KEY (idDotare)
    REFERENCES Dotari(idDotare) ON DELETE CASCADE ON UPDATE CASCADE
);

Как я могу отображать "marca", "model", "pretFaraDotari" из таблицы "Masina", общую цену "dotare" для каждого автомобиля из таблицы "Dotari", "pretFaraDotari" + общая цена dotare и "pretTotal", из таблицы "Comenzi" для всех записей в таблице "Comenzi"?

Мне нужно, чтобы все это отображалось с использованием только одной команды.. что большая проблема

Теги:

1 ответ

0

Я не знаю, могу ли я "получить" это точно (я не говорю по-румынски), но, возможно, вы ищете что-то вроде

select 
    cd.*,  
    c.*,
    d.*,
    m.*
from Com_Dot as cd,
join Comenzi as c on c.idComanda = cd.idComanda
join Dotari as d on d.idDotare = cd.idDotare
join Masina as m on m.idMasina = c.idMasina

Вы можете добавить, где /group/, если необходимо, если вам нужен какой-то агрегат.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню