2017-12-11 8 views
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 
); 

"Masina"テーブルから "marca"、 "model"、 "pretFaraDotari"を表示するにはどうすればよいですか? "Dotari"テーブルの各車の "dotare"の合計価格、 "pretFaraDotari" + 、 "Comenzi"テーブルの "pretTotal"テーブルのすべてのエントリを表示しますか?ここでINNER JOINは便利ですか?

私はそれは私が「GET」、それは正確に(私はルーマニア語を話さない)場合

+0

「INNER JOIN」について知っているようですが、何を試しましたか? –

+0

私はどこから始めるべきかわからないので、問題は私がちょうどMasina、DotariおよびComenziテーブルからINNER JOINを使用することができないので、私はCom_Dotテーブルを使用する必要があります..しかし私は知らないどうすればいいのですか? また、「Dotari」テーブルから各車の「ドットレ」の総額をどのようにしてもらえますか? –

+0

より多くのポイントで答えを使用してください。受け入れられた答えは古いスタイルの結合を使用します –

答えて

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 

いくつかの種類の集約が必要な場合は、必要に応じて/を追加することができます。