Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Uma consulta 2 usuarios


João Carlos C.

Pergunta

Saudações a todos,

Tenho que fazer uma consulta a um banco de dados onde ele tem que trazer os dados do usuario e os dados da empresa onde o mesmo trabalha,

Porém eu tenho no campo bairro,cidade e uf dos dados do usuario como também da empresa 'IDs' de uma tabela. existe como fazer essa consulta de uma só vez e referenciar os 'IDs'? Ou tenho de fazer uma nova consulta?

SELECT DISTINCT * 
               FROM
               USUARIO_IDENTIDADE ui
               JOIN 
               USUARIO_ENDERECO ue
               JOIN
               USUARIO_PROFISSIONAL up
               JOIN
               USUARIO_CONT_PRIMARIO ucp
               JOIN 
               CIDADES cid
               JOIN 
               EMPRESA_IDENTIDADE ei
               JOIN 
               LOGIN l
               JOIN 
               USUARIO u
               JOIN
               ESTADOS e
               JOIN
               BAIRROS b
               ON
               ui.USER_COD = '$user_cod' AND ue.USER_COD = '$user_cod' AND up.USER_COD = '$user_cod' AND ucp.USER_COD = '$user_cod'
               AND cid.CID_ID = ue.CID_ID AND l.USER_COD = '$user_cod' AND u.USER_COD = '$user_cod' AND ei.EMP_COD = u.EMP_COD AND e.EST_ID = cid.CID_UF 
               AND b.BAI_ID = ue.BAI_ID
               
               WHERE ui.USER_I_DATAMOD = (SELECT max(USER_I_DATAMOD)
                           FROM USUARIO_IDENTIDADE ui2
                           WHERE ui2.USER_COD = ui.USER_COD)
                           AND 
                           ue.END_U_DATAMOD = (SELECT max(END_U_DATAMOD)
                           FROM USUARIO_ENDERECO ue2
                           WHERE ue2.USER_COD = ue.USER_COD)
                           AND
                           up.PROF_DATAMOD = (SELECT max(PROF_DATAMOD)
                           FROM USUARIO_PROFISSIONAL up2
                           WHERE up2.USER_COD = up.USER_COD)
                           AND
                           ucp.CONT_P_DATAMOD = (SELECT max(CONT_P_DATAMOD)
                           FROM USUARIO_CONT_PRIMARIO ucp2
                           WHERE ucp2.USER_COD = ucp.USER_COD)
                           AND
                           ei.EMP_I_DATAMOD = (SELECT max(EMP_I_DATAMOD)
                           FROM EMPRESA_IDENTIDADE ei2
                           WHERE ei2.EMP_COD = ei.EMP_COD)

Uma outra duvida é quando faço uma consulta como a que postei se im campo ex: BAI_ID estiver vazio ele não me traz nada, tem como isso não acontecer, quero dizer mesmo o campo estando vazio tazer os dados que existem?

Desde já agradeço pela ajuda;

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Saudações a todos,

Tenho que fazer uma consulta a um banco de dados onde ele tem que trazer os dados do usuario e os dados da empresa onde o mesmo trabalha,

Porém eu tenho no campo bairro,cidade e uf dos dados do usuario como também da empresa 'IDs' de uma tabela. existe como fazer essa consulta de uma só vez e referenciar os 'IDs'? Ou tenho de fazer uma nova consulta?

Não entendi o que você quer. Se tem relação com o código que você enviou ou não; Ou se você que um select do zero.

Uma outra duvida é quando faço uma consulta como a que postei se im campo ex: BAI_ID estiver vazio ele não me traz nada, tem como isso não acontecer, quero dizer mesmo o campo estando vazio tazer os dados que existem?

Desde já agradeço pela ajuda;

Arrumei seu código. Agora fica mais fácil de entendê-lo e já faz o que você quer.

SELECT DISTINCT * 
FROM USUARIO_IDENTIDADE ui
INNER JOIN USUARIO_ENDERECO ue ON ue.USER_COD = ui.USER_COD 
INNER JOIN USUARIO_PROFISSIONAL up ON up.USER_COD = ui.USER_COD
INNER JOIN USUARIO_CONT_PRIMARIO ucp ON ucp.USER_COD = ui.USER_COD
INNER JOIN CIDADES cid ON cid.CID_ID = ue.CID_ID
INNER JOIN EMPRESA_IDENTIDADE ei ON ei.EMP_COD = u.EMP_COD
INNER JOIN LOGIN l ON l.USER_COD = ui.USER_COD
INNER JOIN USUARIO u ON u.USER_COD = ui.USER_COD
INNER JOIN ESTADOS e ON e.EST_ID = cid.CID_UF
LEFT  JOIN BAIRROS b ON b.BAI_ID = ue.BAI_ID
WHERE ui.USER_COD = '$user_cod' AND 
      ui.USER_I_DATAMOD = (SELECT max(USER_I_DATAMOD)
                           FROM USUARIO_IDENTIDADE ui2
                           WHERE ui2.USER_COD = ui.USER_COD) AND 
      ue.END_U_DATAMOD = (SELECT max(END_U_DATAMOD)
                           FROM USUARIO_ENDERECO ue2
                           WHERE ue2.USER_COD = ue.USER_COD) AND
      up.PROF_DATAMOD = (SELECT max(PROF_DATAMOD)
                           FROM USUARIO_PROFISSIONAL up2
                           WHERE up2.USER_COD = up.USER_COD) AND
      ucp.CONT_P_DATAMOD = (SELECT max(CONT_P_DATAMOD)
                           FROM USUARIO_CONT_PRIMARIO ucp2
                           WHERE ucp2.USER_COD = ucp.USER_COD) AND
      ei.EMP_I_DATAMOD = (SELECT max(EMP_I_DATAMOD)
                           FROM EMPRESA_IDENTIDADE ei2
                           WHERE ei2.EMP_COD = ei.EMP_COD)

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...