Ajuda com Sql com 2 detalhes
Ola caro amigos,
Estou desenvolvendo um controle de produção onde tenho 3 tabelas: Processo, matéria prima e Mão de Obra . Quero criar um select onde vou ter a tabela mestre processo com os dois detalhes Mão de Obra e Matéria prima. Como faço isto onde vão acontecer casos em que o processo não vai ter mão de obra.
Esta query vai ser usada para impressão.
Se alguém puder me ajudar agradeço.
Tenho que Fazer este processo nos Banco de dados Paradox e FireBird
Hugo Fabrício
Estou desenvolvendo um controle de produção onde tenho 3 tabelas: Processo, matéria prima e Mão de Obra . Quero criar um select onde vou ter a tabela mestre processo com os dois detalhes Mão de Obra e Matéria prima. Como faço isto onde vão acontecer casos em que o processo não vai ter mão de obra.
Esta query vai ser usada para impressão.
Se alguém puder me ajudar agradeço.
Tenho que Fazer este processo nos Banco de dados Paradox e FireBird
Hugo Fabrício
Hugofab
Curtidas 0
Respostas
Cristiam
15/02/2005
Não entendi muito bem o que vc quer mas,
Vc quer fazer algo parecido?
Select * from Processo where CodMaodeObra in (Select CodMaodeObra where CodMateriaPrima in ( Select CodMateriaPrima where Campo = ´x´)
Ou
Select * from Processo where CodMaodeObra in (Select CodMaodeObra where Campox = ´x´) and CodMateriaPrima in ( Select CodMateriaPrima where Campoy = ´y´)
Vc quer fazer algo parecido?
Select * from Processo where CodMaodeObra in (Select CodMaodeObra where CodMateriaPrima in ( Select CodMateriaPrima where Campo = ´x´)
Ou
Select * from Processo where CodMaodeObra in (Select CodMaodeObra where Campox = ´x´) and CodMateriaPrima in ( Select CodMateriaPrima where Campoy = ´y´)
GOSTEI 0
Hugofab
15/02/2005
Cristiam,
Deixa eu tentar explicar melhor:
Tenho a Tabela processo com o campo codigo_processo, este campo eu uso para fazer o relacionamendo com a mão de obra e a materia prima,
sendo que na tabela mão de obra tem o campo codigo_processo e na tabela materia prima também.
Quero fazer um relatório onde liste o processo (que tem alguns campos a +) e toda a materia prima que compoem o processo e toda a mão de obra
Tipo :
Processo codigo: 10 Detalhe: faça isto aquilo etc.
Materia prima
produto 1
produto 2
Mão de Obra
Corte
Costura
Via clientedataset faço isto via relacionamento.
com apenas a materia prima consegui fazer desta forma veja :
SELECT processo.*, MatPrima.* from processo, matprima WHERE matprima.CD_Processo = Processo.CD_processo
Não sei se o paradox aceita este comando in pois não esta dando certo a dica que me passou !
bom é isto ai
Obrigado pela atenção !
Hugo Fabrício
Deixa eu tentar explicar melhor:
Tenho a Tabela processo com o campo codigo_processo, este campo eu uso para fazer o relacionamendo com a mão de obra e a materia prima,
sendo que na tabela mão de obra tem o campo codigo_processo e na tabela materia prima também.
Quero fazer um relatório onde liste o processo (que tem alguns campos a +) e toda a materia prima que compoem o processo e toda a mão de obra
Tipo :
Processo codigo: 10 Detalhe: faça isto aquilo etc.
Materia prima
produto 1
produto 2
Mão de Obra
Corte
Costura
Via clientedataset faço isto via relacionamento.
com apenas a materia prima consegui fazer desta forma veja :
SELECT processo.*, MatPrima.* from processo, matprima WHERE matprima.CD_Processo = Processo.CD_processo
Não sei se o paradox aceita este comando in pois não esta dando certo a dica que me passou !
bom é isto ai
Obrigado pela atenção !
Hugo Fabrício
GOSTEI 0
Aroldo Zanela
15/02/2005
Colega,
O operador IN é suportado pelo BDE. Entretanto, seu eu tiver entendido sua questão, uma alternativa por meio de SQL seria o uso de LEFT <OUTER> JOIN, mas me parece mais apropriado o uso de bandas de sub-detalhe que poderiam ser encadeadas de acordo com a chave estrangeira.
O operador IN é suportado pelo BDE. Entretanto, seu eu tiver entendido sua questão, uma alternativa por meio de SQL seria o uso de LEFT <OUTER> JOIN, mas me parece mais apropriado o uso de bandas de sub-detalhe que poderiam ser encadeadas de acordo com a chave estrangeira.
GOSTEI 0
Hugofab
15/02/2005
Aroldo Zanela,
Consegui usar o comando in, e pesquisando no Fórum achei algo sobre o LEFT <OUTER> JOIN, só que o problema era a repetição, não sei se estava fazendo correto no FORTES REPORT; mas ai achei uma solução para usar comandos SQL e fazer o relacionamento mestre Detalhe, usei o Clientedataset coloquei um Group e 2 subdetalhes, funcionou correto.
Obrigado pela atenção
Hugo Fabrício
Consegui usar o comando in, e pesquisando no Fórum achei algo sobre o LEFT <OUTER> JOIN, só que o problema era a repetição, não sei se estava fazendo correto no FORTES REPORT; mas ai achei uma solução para usar comandos SQL e fazer o relacionamento mestre Detalhe, usei o Clientedataset coloquei um Group e 2 subdetalhes, funcionou correto.
Obrigado pela atenção
Hugo Fabrício
GOSTEI 0