Ayuda con Inner Join para cruzar 3 tablas

Estoy realizando un programa en visual basic, para un programa de inventarios, al guardar un pedido como se debe hacer guardo solo los id de los materiales y los id de los funcionarios, las tablas que quiero cruzar para mostrarlas en un listview son:
pedidos(id_pedido,id_funcionario,id_mat1,cant1,id_mat2,cant2,id_mat3,cant3,id_mat4,cant4
, id_mat5, cant5, responsable, fecha, hora)
Funcionario(id_funcionario, nombres, apellidos, cedula)
material(id_material,nombre)
Quisiera capturar los datos del pedido mediante una consulta sql y mostrarlos en el listview:
id_pedido/funcionario/material1/cantidad1/.../material5/cantidad5/responsable/fecha/hora
pero me enredo y solo me muestra los ids de los productos y los funcionarios, tengo entendido que con inner join se hace pero no tengo idea ya que soy algo novato en esto para realizar el cruze y en los productos 1,2,3,4,5 me muestre los nombres y no los id, s al igual que con los funcionarios

1 respuesta

Respuesta
1
La query debería ser así
Select
a.id_pedido as id_pedido,
b.id_funcionario as funcionario,
a.id_mat1 as  material1,
a.cant1 as cantidad1,
a.id_mat2 as material2,
a.cant2 as cantidad2,
a.id_mat3 as material3,
a.cant3 as cantidad3,
a.id_mat4 as material4,
a.cant4 as cantidad4
from
pedidos a inner join funcionario b on a.id_funcionario= b.id_funcionario
inner join material c on c.id_material = a.id_mat1
inner join material c on c.id_material = a.id_mat2
inner join material c on c.id_material = a.id_mat3
inner join material c on c.id_material = a.id_mat4
Prueba con eso!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas