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
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
Curtir tópico
+ 0
Responder
Posts
01/11/2005
Delmar
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
Responder
Gostei + 0
02/11/2005
Afarias
neste caso, um Stored Proc acho q seria melhor opção
T+
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)