Fórum SQL no lugar de um campo: Como colocar mais de um campo? #53720

01/11/2005

0

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


Delmar

Delmar

Responder

Posts

01/11/2005

Delmar

reescrevendo com identação para facilitar a leitura
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


Responder

Gostei + 0

02/11/2005

Afarias

neste caso, um Stored Proc acho q seria melhor opção


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar