SQL - consultas union sql

 
Vista:

consultas union sql

Publicado por anonimo11 (1 intervención) el 22/10/2022 00:24:01
tengo una cadena de produccion donde las materias primas que son insumos, que pasan por procesos que los convierten en productos, que pueden ser finales, o insumos de otro proceso para dar otro producto.

o sea el esquema es

materia prima (transformante) + materia prima (transformante) +... ----[ conversor ]----> materia prima (transformanda) + materia prima (transformada)+...



mi tabla es la siguiente:

materia_prima (
idmateria int,
nombre varchar(15),
primary key (id)
);

conversor (
idconversor int,
nombreconversor varchar(15),
primary key (id)
);


estas dos tablas se relacionan con tabla proceso, teniendo en cuenta que un conversor puede hacer un proceso o varios con la misma o distinta materia (numeroproceso)

idmateria int
idconversor int
numeroporceso int
tipomateria enum ("transformante","trasnformado")
primary key(idmater,idproc,numeroproc,tipomater)
);





claro mis consultas son sql de union

select nombreconversor
from conversor
join ...
where nombre_materia="lo que sea" and tipomateria="transformado"

union

select nombreconversor
from conversor
join ...
where nombre_materia="lo que sea" and tipomaetria="transformado"

es decir me dan union de varias consultas seguidas no me da consultas interconectadas porque como veis las where solo me valen para em mismo regitro no diferentes, no se si me explico bien.

vamos que pido conversor que tenga materiatransforte x en consulta 1, ademas materia transformante Y en consulta dos, ademas materia transformada z en consulta 3,...


utilizo el mysql workbench
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

consultas union sql

Publicado por Jorge (7 intervenciones) el 31/10/2022 04:13:31
Buenas Noches
Yo lo que haria seria Agregar una tabla para el tipomateria

TipoMateria (id int, descripcion varchar(50) )

la cual contendria n tipos

y en la tabla conversor, cambiaria el tipomateria a int, de esta manera relacionas conversor con tipomateria

y en tu consulta en el where seria algo as:

WHERE Conversor.Tipomateria in (Select x.id FROM TipoMateria x)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar