Comando em SQL quot;coparar campo em duas tabelasquot;

30/11/2004

0

Galera tenho uma VIEW onde tenho o cod_grupo que c a condição for IGUAL -1 ele tras os valores do campo ´DESCRICAO´ da tabela[b:bcba45f6d2] E ´CULTURA´[/b:bcba45f6d2] e c for maior que -1
ele tras os valores do campo ´DESCRICAO´ da tabela [b:bcba45f6d2]C ´GRUPO´[/b:bcba45f6d2]

[color=green:bcba45f6d2]CREATE VIEW VREL_ESTOQUE_ANALITICO(
INDICE,
DESCRICAO,
COD_MARCA,
[b:bcba45f6d2]COD_GRUPO,[/b:bcba45f6d2]
COD_SUBGRUPO,
UN,
ESTOQUE,
ESTOQUE_MINIMO,
ESTOQUE_MAXIMO,
VLR_ESTOQUE,
COD_FABRICA,
APLICACAO,
BINDICE,
BDESCRICAO,
grupo,
subGrupo)
AS
SELECT
A.INDICE,
A.DESCRICAO,
A.COD_MARCA,
A.COD_GRUPO,
A.COD_SUBGRUPO,
A.UN,
A.ESTOQUE,
A.ESTOQUE_MINIMO,
A.ESTOQUE_MAXIMO,
A.VLR_ESTOQUE,
A.COD_FABRICA,
A.aplicacao,
B.indice,
B.descricao,
C.descricao,
D.descricao
FROM ESTOQUE A, MARCA B, vgrupo C, vsubgrupo D ,[b:bcba45f6d2]cultura e[/b:bcba45f6d2], variedades f
WHERE (B.indice = A.COD_MARCA)
AND (A.cod_subgrupo = D.cod_subgrupo);[/color:bcba45f6d2]


C alguém souber me ajudaria muito!


Marcos Fernando

Marcos Fernando

Responder

Posts

30/11/2004

Fsflorencio

Não sei se entendí bem, mas acho q vc pode fazer um union na view para juntar dois selects.

+ ou - assim:

CREATE VIEW VREL_ESTOQUE_ANALITICO(
INDICE,
DESCRICAO,
COD_MARCA,
COD_GRUPO,
COD_SUBGRUPO,
UN,
ESTOQUE,
ESTOQUE_MINIMO,
ESTOQUE_MAXIMO,
VLR_ESTOQUE,
COD_FABRICA,
APLICACAO,
BINDICE,
BDESCRICAO,
grupo,
subGrupo)
AS
SELECT
A.INDICE,
[b:252bc6f111]E.DESCRICAO[/b:252bc6f111],
A.COD_MARCA,
A.COD_GRUPO,
A.COD_SUBGRUPO,
A.UN,
A.ESTOQUE,
A.ESTOQUE_MINIMO,
A.ESTOQUE_MAXIMO,
A.VLR_ESTOQUE,
A.COD_FABRICA,
A.aplicacao,
B.indice,
B.descricao,
C.descricao,
D.descricao
FROM ESTOQUE A, MARCA B, vgrupo C, vsubgrupo D ,cultura e, variedades f
WHERE (B.indice = A.COD_MARCA)
AND (A.cod_subgrupo = D.cod_subgrupo) AND
[b:252bc6f111](COD_GRUPO = -1)[/b:252bc6f111]

[b:252bc6f111]UNION ALL[/b:252bc6f111]

SELECT
A.INDICE,
[b:252bc6f111]C.DESCRICAO[/b:252bc6f111],
A.COD_MARCA,
A.COD_GRUPO,
A.COD_SUBGRUPO,
A.UN,
A.ESTOQUE,
A.ESTOQUE_MINIMO,
A.ESTOQUE_MAXIMO,
A.VLR_ESTOQUE,
A.COD_FABRICA,
A.aplicacao,
B.indice,
B.descricao,
C.descricao,
D.descricao
FROM ESTOQUE A, MARCA B, vgrupo C, vsubgrupo D ,cultura e, variedades f
WHERE (B.indice = A.COD_MARCA)
AND (A.cod_subgrupo = D.cod_subgrupo) AND
[b:252bc6f111](COD_GRUPO > -1)[/b:252bc6f111]

ps. Os campos descrição das tabelas E e C devem ser do mesmo tipo e devem ter o mesmo tamanho.

Até.


Responder

30/11/2004

Marcos Fernando

Grato pela dica,
Eu também já havia chego a esse resultado,

o problema agora é como unir campos de tamanhos diferentes??

tipo o grupo tem [b:97c47970a9]varchar(50) [/b:97c47970a9]e a Variedade tem[b:97c47970a9] Varchar(30)[/b:97c47970a9]

Como faço isso???


Responder

30/11/2004

Gandalf.nho

o problema agora é como unir campos de tamanhos diferentes?? tipo o grupo tem varchar(50) e a Variedade tem Varchar(30) Como faço isso???


Use a função CAST para isso


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar