Problemas com uma consulta, instrução SQL básico

2 respostas
tarcisiocorte

Pessoal eu tenho um SQL que é o seguinte :

SELECT tb_emprestimos.data_emprestimo, tb_emprestimos.entrega_emprestimo, tb_emprestimos.produto_id, tb_emprestimos.cliente_id, tb_clientes.nome FROM tb_clientes tb_clientes, tb_emprestimos tb_emprestimos WHERE tb_clientes.id_cliente = tb_emprestimos.cliente_id and “+locIdCliente+”=tb_clientes.id_cliente And “+locIdProduto+”=tb_emprestimos.cliente_id

Eu quero que ele retonor os valores de :
data_emprestimo, entrega_emprestimo, produto_id, cliente_id, nome do cliente, mas tem um porem esses dados tem que ser somente do cliente (id_cliente) e do produo(id_pridot) que eu colocar nas variavies que eu concatenei ai (variaveis: locIDProduto e locIdCliente)

Eu nao sei se a instruçao que eu uso é and ou se eu acrescento um sinal de “+” pois se eu por exemplo jagar o id cliente = 2 e id produto = 3 ele nai esta mostrando so os cliente com ID 2 mas esta mostrando os clientes que tem ID=2 e os produtos que tem id = 3, consequentemente se o produto é = 3 então ele traz outro id que não é o do cliente 2

é como se fosse uma condição de if

Mostre todos os clientes e produto somente se produtosId = 3 e clienteId= 3

Alguem ai que manja de SQL pode me dar uma força ?

2 Respostas

skubs

Tarcisio, acredito que seja apenas um erro de digitação… você está fazendo “locIdProduto+”=tb_emprestimos.cliente_id" quando eu acredito que você gostaria de ter feito “locIdProduto+”=tb_emprestimos.produto_id" :slight_smile:

Tente novamente:
SELECT
tb_emprestimos.data_emprestimo,
tb_emprestimos.entrega_emprestimo,
tb_emprestimos.produto_id,
tb_emprestimos.cliente_id,
tb_clientes.nome
FROM
tb_clientes,
tb_emprestimos
WHERE
tb_clientes.id_cliente = tb_emprestimos.cliente_id AND
“+locIdCliente+”=tb_clientes.id_cliente AND
“+locIdProduto+”=tb_emprestimos.produto_id

kissdemon

Independente da sintaxe, recomendo que não concatene strings ao fazer uma query, mas utilize PreparedStatement, visto que está utilizando JDBC.

[]'s

Criado 8 de dezembro de 2006
Ultima resposta 8 de dez. de 2006
Respostas 2
Participantes 3