2
Guys I’m with the following structure:
CREATE TABLE Cliente
( Id_cliente int NOT NULL,
Nome_cliente CHAR(30) NOT NULL,
Endereco CHAR(40),
Telefone char(12),
PRIMARY KEY (Id_cliente)
) Engine=InnoDB;
CREATE TABLE Emprestimo
( operacao int NOT NULL,
data_emp date NOT NULL,
data_dev date NOT NULL,
cliente int,
livro_1 int NOT NULL,
livro_2 int,
PRIMARY KEY (operacao),
FOREIGN KEY (cliente) REFERENCES Cliente(Id_cliente),
FOREIGN KEY (livro_1) REFERENCES livro(Id_livro),
FOREIGN KEY (livro_2) REFERENCES livro(Id_livro)
) Engine=InnoDB;
CREATE TABLE livro
( Id_livro int NOT NULL,
Nome_livro CHAR(40) NOT NULL,
Pg int,
Edicao int,
Editora int NOT NULL,
Assunto int NOT NULL,
Preco decimal (5,2) NOT NULL,
PRIMARY KEY (Id_livro),
FOREIGN KEY (Editora) REFERENCES Editora(Id_editora),
FOREIGN KEY (Assunto) REFERENCES Assunto(Id_assunto)
) Engine=InnoDB;
With these 3 tables I am doing the following search:
select nome_cliente, operacao, nome_livro, (select livro_2 from emprestimo, livro where emprestimo.livro_2 = livro.Id_livro and emprestimo.cliente = cliente.Id_cliente and data_emp >= '2017-01-01' and data_dev <= '2017-03-31')as livro_2
from cliente, emprestimo, livro
where emprestimo.livro_1 = livro.Id_livro
and emprestimo.cliente = cliente.Id_cliente
and data_emp >= '2017-01-01'
and data_dev <= '2017-03-31';
But I need to put the names of the books instead of the code of livro_2
, but my subquerie is not working.
Can someone help me?
Thank you
The name of the book would be a secondary name?
– Sorack
@Sorack this, the person withdraws 2 books, and was not able to put the name of the second in the result. But Hiago Souza’s reply worked perfectly. Thank you
– Evilmaax