Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

É possível fazer um cross join com a mesma função que left join tem ?

É possível fazer um cross join com a mesma função que left join tem ?

3 respostas

Olá Giovani, tudo bem?

Você poderia disponibilizar mais detalhes da sua dúvida? Assim, poderei compreender melhor e ti ajudar.

  • O que você quis dizer em fazer um cross join com a mesma função que left join tem?
  • Você poderia disponibilizar algum exemplo?

Aguardo o seu retorno!

SELECT *
  FROM [dbo].[RPTO_MIG_CONTRATOS]        MC
  LEFT JOIN [dbo].[RPTO_MIG_CONTRATOS_EXCLUIDO_CICLO] ME ON MC.COD_CONT = ME.COD_CONT
 ORDER BY ME.COD_CART DESC

 eu queria saber se é possivel um cross join fazer a mesma função com left join, no cross join eu uso where e queria saber se é possível 

SELECT *
  FROM [dbo].[RPTO_MIG_CONTRATOS]                     MC
 CROSS JOIN [dbo].[RPTO_MIG_CONTRATOS_EXCLUIDO_CICLO] ME
 WHERE MC.COD_CONT = ME.COD_CONT or ME.COD_CART IS NULL
 ORDER BY ME.COD_CART DESC
solução!

Acho que entendi o que voce quer, mais nao vai funcionar com CROSS JOIN o CROSS JOIN vai multiplicar as linhas da sua tabela RPTO_MIG_CONTRATOS pela quantidade de linhas da RPTO_MIG_CONTRATOS_EXCLUIDO_CICLO e voce vai aplicar um filtro apos a multiplicação.

Se entendi certo voce quer um efeito de LEFT JOIN + RIGHT JOIN no resultado da mesma query, pra isso é so usar o FULL JOIN que vai mesclar desse jeito.

    SELECT *
      FROM [dbo].[RPTO_MIG_CONTRATOS]                     MC
     FULL JOIN [dbo].[RPTO_MIG_CONTRATOS_EXCLUIDO_CICLO] ME
     WHERE MC.COD_CONT = ME.COD_CONT  
     ORDER BY ME.COD_CART DESC