SQL no lugar de um campo: Como colocar mais de um campo?
Olá amigos
Esta sql funciona corretamente.
SELECT CODIGO,
CODITEM,
TIPO,
CODGRUPO,
CODSUBGRUPO,
CODSERVICO,
QUANTIDADE,
case TIPO
when ´M´ then
([b:6283fa61e9]SELECT MATERIAL FROM MATERIAL
WHERE MATERIAL.CODIGO=componente.coditem[/b:6283fa61e9])
when ´E´ then
(SELECT EQUIPAMENTO FROM EQUIPAMENTO
WHERE EQUIPAMENTO.CODIGO=componente.coditem)
when ´O´ then
(SELECT MAODEOBRA FROM MAODEOBRA
WHERE MAODEOBRA.CODIGO=componente.coditem)
end
as item
from COMPONENTE
where componente.codservico=27
Porém, na parte em negrito preciso exibir vários campos. Como é uma sql no lugar de um campo a sql só permite um campo. Como fazer uma solução para ter o mesmo resultado e listar vários campos na parte em negrito.
Considere que neste campo os dados podem vir de 3 tabelas diferentes para cada registro, dependendo do valor do campo TIPO da tabela componente.
Se ficou difícil de entender peçam mais comentários.
Grato por qualquer ajuda.
Delmar Wichnieski
Esta sql funciona corretamente.
SELECT CODIGO,
CODITEM,
TIPO,
CODGRUPO,
CODSUBGRUPO,
CODSERVICO,
QUANTIDADE,
case TIPO
when ´M´ then
([b:6283fa61e9]SELECT MATERIAL FROM MATERIAL
WHERE MATERIAL.CODIGO=componente.coditem[/b:6283fa61e9])
when ´E´ then
(SELECT EQUIPAMENTO FROM EQUIPAMENTO
WHERE EQUIPAMENTO.CODIGO=componente.coditem)
when ´O´ then
(SELECT MAODEOBRA FROM MAODEOBRA
WHERE MAODEOBRA.CODIGO=componente.coditem)
end
as item
from COMPONENTE
where componente.codservico=27
Porém, na parte em negrito preciso exibir vários campos. Como é uma sql no lugar de um campo a sql só permite um campo. Como fazer uma solução para ter o mesmo resultado e listar vários campos na parte em negrito.
Considere que neste campo os dados podem vir de 3 tabelas diferentes para cada registro, dependendo do valor do campo TIPO da tabela componente.
Se ficou difícil de entender peçam mais comentários.
Grato por qualquer ajuda.
Delmar Wichnieski
Delmar
Curtidas 0
Respostas
Delmar
01/11/2005
reescrevendo com identação para facilitar a leitura
SELECT
as item [/quote:6c5172c03c]
from COMPONENTE
where componente.codservico=27
SELECT
CODIGO,
CODITEM,
TIPO,
CODGRUPO,
CODSUBGRUPO,
CODSERVICO,
QUANTIDADE,
case TIPO
[quote:6c5172c03c]when ´M´ then
[b:6c5172c03c](SELECT MATERIAL FROM MATERIAL
WHERE MATERIAL.CODIGO=componente.coditem)[/b:6c5172c03c]
when ´E´ then
(SELECT EQUIPAMENTO FROM EQUIPAMENTO
WHERE EQUIPAMENTO.CODIGO=componente.coditem)
when ´O´ then
(SELECT MAODEOBRA FROM MAODEOBRA
WHERE MAODEOBRA.CODIGO=componente.coditem)
end as item [/quote:6c5172c03c]
from COMPONENTE
where componente.codservico=27
GOSTEI 0
Afarias
01/11/2005
neste caso, um Stored Proc acho q seria melhor opção
T+
T+
GOSTEI 0