Select e Subselect
Pessoal, preciso de ajuda com uma query que sinceramente não sei como iniciar.
Tenho a seguinte query:
Eu preciso do resultado da query acima E também, preciso saber se o resultado do campo ID_CLARO_GESTOR da query acima existe em uma outra tabela.
Alguém consegue ajudar?
Tenho a seguinte query:
SELECT A.FIRST_NAME AS "NOME", A.SURNAME AS "SOBRENOME", A.ATTRIBUTE_1 AS "ID USUARIO", A.STATUS AS "STATUS ID", B.ID_CLARO_GESTOR AS "ID_GESTOR", A.LOCATION_NAME AS "LOCALIDADE", A.MANAGER_REF AS "GERENTE ATIVO" FROM GSTI_INFRA_O.AR_USER_ATTRIBUTES A, GSTI_INFRA_O.CLARO_DATA B WHERE ATTRIBUTE_1 IS NOT null AND A.ATTRIBUTE_1 - B.ID_CLARO_USUARIO AND STATUS = ''A'' AND MANAGER_REF = ''0'' ORDER BY FIRST_NAME
Eu preciso do resultado da query acima E também, preciso saber se o resultado do campo ID_CLARO_GESTOR da query acima existe em uma outra tabela.
Alguém consegue ajudar?
Rodrigo Biaggio
Curtidas 0
Melhor post
Luiz Santos
11/01/2018
Rodrigo.
Tenta isso.
Grande abraço
Tenta isso.
SELECT A.FIRST_NAME AS "NOME", A.SURNAME AS "SOBRENOME", A.ATTRIBUTE_1 AS "ID USUARIO", A.STATUS AS "STATUS ID", B.ID_CLARO_GESTOR AS "ID_GESTOR", A.LOCATION_NAME AS "LOCALIDADE", A.MANAGER_REF AS "GERENTE ATIVO" FROM GSTI_INFRA_O.AR_USER_ATTRIBUTES A INNER JOIN GSTI_INFRA_O.CLARO_DATA B ON A.ATTRIBUTE_1 = B.ID_CLARO_USUARIO WHERE ATTRIBUTE_1 IS NOT NULL AND STATUS = ''A'' AND MANAGER_REF = ''0'' AND EXISTS (SELECT 1 FROM [OUTRA TABELA] C WHERE C.ID_CLARO_GESTOR = B.ID_CLARO_GESTOR) ORDER BY FIRST_NAME
Grande abraço
GOSTEI 1
Mais Respostas
Rodrigo Biaggio
11/01/2018
Luis obrigado pelo retorno. Só alterei o campo<br />
<br />
Para<br />
<br />
E tive o retorno. Pelo o que entendi esse retorno está me trazendo apenas os ID que existem naquela tabela, certo? <br /><br />
Eu consigo pegar também os que não estão? Eu estava pensando em fazer um case, por exemplo, caso ele exista retorne Verdadeiro, caso não existe me retorne um Falso mas não consegui fazer hahaha.
<br /> C.ID_CLARO_GESTOR = B.ID_CLARO_GESTOR)<br />
Para<br />
<br /> C.ATTRIBUTE_1 = B.ID_CLARO_GESTOR)<br />
E tive o retorno. Pelo o que entendi esse retorno está me trazendo apenas os ID que existem naquela tabela, certo? <br /><br />
Eu consigo pegar também os que não estão? Eu estava pensando em fazer um case, por exemplo, caso ele exista retorne Verdadeiro, caso não existe me retorne um Falso mas não consegui fazer hahaha.
GOSTEI 0
Luiz Santos
11/01/2018
Cara, do jeito que fiz, ele está trazendo só quem existe.
Se colocar um NOT EXISTS, ele vai trazer só quem não existe.
Para fazer o que vc quer, vc, ao invés de usar o exists, teria que usar um LEFT JOIN entre as tabelas B e C.
Assim ele traria todo mundo, e você conseguiria fazer um CASE.
Espero ter ajudado.
Grande abraço
Se colocar um NOT EXISTS, ele vai trazer só quem não existe.
Para fazer o que vc quer, vc, ao invés de usar o exists, teria que usar um LEFT JOIN entre as tabelas B e C.
Assim ele traria todo mundo, e você conseguiria fazer um CASE.
Espero ter ajudado.
Grande abraço
GOSTEI 1
Rodrigo Biaggio
11/01/2018
Desculpe Luis, eu vi depois e alterei.
Dessa forma já atende a minha necessidade.
Muito obrigado pela ajuda.
Dessa forma já atende a minha necessidade.
Muito obrigado pela ajuda.
GOSTEI 0
Luiz Santos
11/01/2018
Tranquilo.
O importante é que te ajudou a resolver.
Grande abraço
O importante é que te ajudou a resolver.
Grande abraço
GOSTEI 0