Salve a tutti ho il seguente codice
drop database if exists elettro;
create database if not exists elettro;
use elettro;
create table if not exists prodotti (
Codice int primary key,
Categoria varchar (20),
Sottocategoria varchar (20),
Descrizione varchar (50),
Marca varchar (20),
Prezzo int,
Disponibilita varchar (2)
);
create table if not exists Clienti (
Codice int primary key,
Nome varchar (20),
Eta int
);
create table if not exists Storico (
Data_acquisto date,
quantita int,
Codice_CL int,
Codice_Pr int,
foreign key (Codice_CL) references Clienti (Codice),
foreign key (Codice_Pr) references prodotti (Codice)
);
insert into prodotti values (10000,'Cat1','Sott1','Descrizione1','Marca1', 150, 'SI');
insert into prodotti values (20000,'Cat2','Sott2','Descrizione2','Marca2', 350, 'SI');
insert into prodotti values (30000,'Cat3','Sott3','Descrizione3','Marca3', 450, 'NO');
insert into prodotti values (40000,'Cat4','Sott4','Descrizione4','Marca4', 150, 'SI');
insert into Clienti values (101,'Nome1',18);
insert into Clienti values (102,'Nome2',20);
insert into Clienti values (103,'Nome3',38);
insert into Clienti values (104,'Nome4',19);
insert into Clienti values (105,'Nome5',14);
insert into storico values ('2016-01-03', 3, 101, 10000);
insert into storico values ('2016-02-03', 2, 102, 20000);
insert into storico values ('2016-04-03', 4, 103, 30000);
insert into storico values ('2016-01-03', 1, 104, 40000);
insert into storico values ('2016-01-03', 6, 105, 10000);
select p.Marca
from prodotti as p
where p.Prezzo<=450 and p.Prezzo>=150 and p.Disponibilita='SI';
/* Visualizzare nome e punti di ogni acquirente (1 punto per ogni 10€ di spesa) */
select c.Nome, ((s.quantita*p.Prezzo)/10) as punti
from Storico as s ,prodotti as p, Clienti as c
where s.Codice_Pr=p.Codice and s.Codice_CL=c.Codice;
select c.Nome, ((s.quantita*p.Prezzo)/10) as punti
from Storico as s ,prodotti as p, Clienti as c
join Storico as sr on sr.Codice_CL=c.Codice
Join Storico as st on st.Codice_Pr=p.Codice;
ora come potete vedere nella penultima query ho usato la selezione multipla e funziona alla perfezione, nell'ultima ho usato due join e mi si presenta il seguente codice d'errore "ERROR 1054 (42S22): Unknown column 'p.Codice' in 'on clause"
Riesco ad usare il join solo se devo fare una sola relazione, se invece devo fare più relazioni fra più tabelle come in questo caso non so come fare perchè si presenta questo errore