Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

davisvasconcellos

Relacionamento dentro da mesma tabela

Recommended Posts

Olá,

possuo uma tabela com os campos:

codigo

apelido

coordenador

 

sendo que o coordenador tb é um funcionario

 

assim:

CODIGO | APELIDO | COORDENADOR

01 AA

02 BB

03 CC 01

04 DD 02

05 EE

06 FF 01

 

como faço a consulta para trazer todos os registros mas no código do coord exiba o nome?

resultado:

01 AA -

02 BB -

03 CC AA

04 DD BB

05 EE -

06 FF AA

 

ja tentei assim:

SELECT c.codigo, c.apelido, v.apelido as nomecoord FROM funcionarios c JOIN funcionarios v on (c.coordenador = v.codigo)"

 

funcionou mas só exibiu os funcionarios com coordenador.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT c.codigo, c.apelido, v.apelido as nomecoord FROM funcionarios c LEFT JOIN funcionarios v on (c.coordenador = v.codigo)"

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT c.codigo, c.apelido, v.apelido as nomecoord FROM funcionarios c LEFT JOIN funcionarios v on (c.coordenador = v.codigo)"

opa. ja melhorou.

 

listou sim.

ta dando outra neuroze, mas vou ver se é besteira minha antes de postar.

ja valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

era isso mesmo.

mas agora nao to conseguindo inserir um critério.

SELECT c.codigo, c.apelido, v.apelido as nomecoord, c.cargo, c.Horas_dia, c.escritorio, c.ativo FROM funcionarios c LEFT JOIN funcionarios v on (c.coordenador = v.codigo)

 

como adiciono na consulta um critério se o campo "ativo"= sim e escritório="rj"

 

ou seja:

quero fazer a mesma coisa só que filtrando os que estão ativos no RJ.

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

como você fez uma junçao de uma tabela nela mesma o programa nao tem como saber ao campo de que tabela você esta se referindo, afinal ambas tem o mesmo campo. Nesse caso você deve apontar tambem a tabela na consulta.

 

No caso seria algo assim:

 

SELECT c.codigo, c.apelido, v.apelido as nomecoord

FROM funcionarios c

LEFT JOIN funcionarios v

on (c.coordenador = v.codigo)

where

c.ativo = 'SIM' AND

c.escritorio = 'RJ'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.