Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite, estou com o seguinte problema:
Tenho as seguites tabelas no banco de dados:
Funcionarios
Id | nome | funcao | etc.....
Acao
Id | nome_acao | responsavel | supervisor | lider1 | lider2
Obs.: os campos “responsavel, supervisor, lider1, lider2” são do tipo integer, ou seja os Ids do funcionarios.
Eu preciso exibir em uma tabela da seguinte maneira:
Nome da Ação | Responsavel pela ação | Supervisor da ação |Lider1 | Lider2
Ai vem o problema, eu preciso do nome do responsavel o nome do supervisor o nome do lider1 o nome do lider2, e na tabela só tem os ids, como ligar as tabelas?
Eu fiz um código e funciono, porém eu não cosigo filtrar na clausula where pois utilizei apelidos para as tabelas, dá o seguinte erro:
Unknown column nome_responsavel in 'where clause'
SELECT DISTINCT
acao.id AS idacao,
acao.nome AS nome_acao,
(@id_responsavel:=acao.responsavel) AS id_responsavel,
(@id_supervisor:=acao.supervisor) AS id_supervisor,
(@id_lider1:=acao.lider1) AS id_lider1,
(@id_lider2:=acao.lider2) AS id_lider2,
(SELECT DISTINCT func.nome AS nome FROM funcionarios func, acao ac WHERE func.id = acao.responsavel AND acao.responsavel = @id_responsavel) AS nome_responsavel,
(SELECT DISTINCT func.nome AS nome FROM funcionarios func, acao ac WHERE func.id = acao.supervisor AND acao.supervisor = @id_supervisor) AS nome_supervisor,
(SELECT DISTINCT func.nome AS nome FROM funcionarios func, acao ac WHERE func.id = acao.lider1 AND acao.lider1 = @id_lider1) AS nome_lider1,
(SELECT DISTINCT func.nome AS nome FROM funcionarios func, acao ac WHERE func.id = acao.lider2 AND acao.lider2 = @id_lider2) AS nome_lider2
FROM acao acao, funcionarios funcionarios WHERE nome_responsavel LIKE '%$nome%'
Carregando comentários...