I'm starting with the sql and I'm trying to get the sum of all the books from each user in the cart table, but I'm not getting it.
drop table if exists carrinho_de_compras;
drop table if exists usuario;
drop table if exists livro;
create table if not exists livro (
id_livro bigint not null,
nome varchar(20) not null,
preco double not null,
constraint pk_ID_Livro primary key(id_livro)
);
create table if not exists usuario (
id_user smallint not null,
nome varchar(40) not null,
constraint pk_ID_User primary key(id_user)
);
create table if not exists carrinho_de_compras (
id_user smallint not null,
id_livro bigint not null,
constraint fk_ID_User foreign key(id_user) references usuario(id_user),
constraint fk_ID_Livro foreign key(id_livro) references livro(id_livro)
);
-- Insere os livros
insert into livro (id_livro, nome, preco) values
(1, 'Chapeuzinho Vermelho', 4.20),
(2, 'Os tres Porquinhos', 3.00),
(3, 'Branca de Neve', 3.50);
-- Criaos usuarios
insert into usuario (id_user, nome)
values (1, 'Joao da Silva'), (2, 'Pedro Pereira');
-- Adiciona no carrinho de compras
insert into carrinho_de_compras (id_user, id_livro)
values (1, 1), (1, 2), (2, 2);
select usuario.nome, sum(livro.preco) from usuario, livro
inner join carrinho_de_compras as c on c.id_user = usuario.id_user
and c.id_livro = livro.id_livro;
It returns the following error:
12:31:15 select user.name, sum (book.preco) from user, book inner join shopping cart as c on c.id_user = user.id_user and c.id_livro = libro.id_livro LIMIT 0, 1000 Error Code : 1054. Unknown column 'user.id_user' in 'on clause' 0.000 sec