Esecuzioni query da php

Salve, e' da un po' che sono bloccato su una query che non riesco ad eseguire, ho un database e devo visualizzare i dati di un fornitore, il rating medio dei suoi prodotti che vende, il totale degli ordini eseguiti di prodotti di questo fornitore ed il numero di clienti che ha ordinato prodotti di questo fornitore negli ultimi sei mesi. la query che ho rpvato ad eseguire e' questa, ma non riesco a farla funzionare. allego anche il codice del DB 

CREATE DATABASE azienda;

USE azienda;


CREATE TABLE IF NOT EXISTS Prodotto(

    IDProdotto INT(4) PRIMARY KEY NOT NULL,

    nome VARCHAR(20) NOT NULL,

    categoria VARCHAR(20) NOT NULL,

    descrizione VARCHAR(200) NOT NULL,

    immagine VARCHAR(200) NOT NULL,

    produttore VARCHAR(30) NOT NULL,

    prezzo FLOAT(7) NOT NULL, 

    valutazione INT(1) NOT NULL,

    dop INT(4) REFERENCES DOP(IDDop)

);


CREATE TABLE IF NOT EXISTS Promozione(

    IDPromozione INT(4) PRIMARY KEY NOT NULL,

    prezzoScontato FLOAT(7) NOT NULL,

    Prodotto INT(4) NOT NULL REFERENCES Prodotto(IDProdotto)

);


CREATE TABLE IF NOT EXISTS Fornitore(

    IDFornitore INT(4) PRIMARY KEY NOT NULL,

    nome VARCHAR(20) NOT NULL,

    indirizzo INT(4) NOT NULL REFERENCES Indirizzo(IDindirizzo),

    telefono VARCHAR(10) NOT NULL,

    email VARCHAR(40) NOT NULL

);


CREATE TABLE IF NOT EXISTS DOP(

    IDDop INT(4) PRIMARY KEY NOT NULL,

    fornitore INT(4) NOT NULL REFERENCES Fornitore(IDFornitore)

);


CREATE TABLE IF NOT EXISTS Cliente(

    IDCliente INT(4) PRIMARY KEY NOT NULL,

    nome VARCHAR(20) NOT NULL,

    cognome VARCHAR(20) NOT NULL,

    psw VARCHAR(20) NOT NULL,

    indirizzo INT(4) NOT NULL REFERENCES Indirizzo(IDIndirizzo) ,

    telefono VARCHAR(10) NOT NULL,

    email VARCHAR(40) NOT NULL

);


CREATE TABLE IF NOT EXISTS Indirizzo(

    IDIndirizzo INT(4) PRIMARY KEY NOT NULL,

    via VARCHAR(20) NOT NULL,

    civico VARCHAR(5) NOT NULL,

    CAP VARCHAR(5) NOT NULL,

    citta VARCHAR(15) NOT NULL

);


CREATE TABLE IF NOT EXISTS Ordini(

    IDOrdini INT(4) PRIMARY KEY NOT NULL,

    ordine INT(4) NOT NULL REFERENCES Ordine(IDOrdine),

    prodotto INT(4) NOT NULL REFERENCES Prodotto(IDProdotto),

    cliente INT(4) NOT NULL REFERENCES Cliente(IDCliente)

    

);


CREATE TABLE IF NOT EXISTS Prodotti(

    IDProdotti INT(4) PRIMARY KEY NOT NULL,

    prodotto INT(4) NOT NULL REFERENCES Prodotto(IDProdotto),

    ordine INT(4) NOT NULL REFERENCES Ordine(IDOrdine),

    quantita INT(3) NOT NULL

);


CREATE TABLE IF NOT EXISTS Ordine(

    IDOrdine INT(4) PRIMARY KEY NOT NULL,

    recensione INT(1),

    prezzoFinale INT(5) NOT NULL,

    dataordine TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);


CREATE TABLE IF NOT EXISTS Spedizione(

    IDSpedizione INT(4) PRIMARY KEY NOT NULL,

    codTracciamento VARCHAR(10) NOT NULL,

    corriere INT(4) NOT NULL REFERENCES Corriere(IDCorriere),

    dataPartenza DATE NOT NULL,

    indirizzoPartenza INT(4) NOT NULL REFERENCES Indirizzo(IDIndirizzo),

    dataArrivo DATE NOT NULL,

    indirizzoArrivo INT(4) NOT NULL REFERENCES Indirizzo(IDIndirizzo)

);


CREATE TABLE IF NOT EXISTS ColVoucher(

    IDCol INT(4) PRIMARY KEY NOT NULL,

    cliente INT(4) NOT NULL REFERENCES Cliente(IDCliente),

    voucher INT(4) NOT NULL REFERENCES Voucher(IDVoucher)

);


CREATE TABLE IF NOT EXISTS Voucher(

    IDVoucher INT(4) PRIMARY KEY NOT NULL,

    codice VARCHAR(10) NOT NULL

);


CREATE TABLE IF NOT EXISTS Corriere(

    IDCorriere INT(4) PRIMARY KEY NOT NULL,

    nome VARCHAR(20) NOT NULL,

    P_IVA VARCHAR(9) NOT NULL,

    sedelegale INT(4) NOT NULL REFERENCES Indirizzo(IDIndirizzo)

);
$sql = "SELECT Fornitore.nome, Fornitore.telefono, Fornitore.email, Indirizzo.via, Indirizzo.civico, Indirizzo.CAP, Indirizzo.citta,

                Ordine.recensione, COUNT(Ordini.IDOrdini)

                FROM Fornitore, Indirizzo, Ordine, Ordini

                WHERE Fornitore.indirizzo = Indirizzo.IDIndirizzo

                 AND Fornitore.nome = '$nfor'

                 AND Ordini.ordine = Ordine.IDOrdine

                 AND Ordini.prodotto = Prodotto.IDProdotto

                 AND Prodotto.dop = DOP.IDDop

                 AND DOP.fornitore = Fornitore.IDFornitore";
inviato 5 mesi fa
jeanm2972
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda