consulta SQL

20/12/2005

select os.hora_inicio,os.hora_termino,
tecnicos.nome_tecnico,setor.setor

from os,tecnicos,setor,usuarios where tecnico=63
and tecnicos.matricula = os.tecnico
and setor.id_setor = os.usuario
and os.status = 1

a sql busca as dados ok... ate o ponto do setor... sendo q esta sendo trago os setores de acordo com todos os usuarios ta tabela ´usuarios´...

gostaria q apenas viesse os setores dos usuarios na tabela ´OS´....

a estrutura eh a seguinte..:

tabela ´OS´ ... tem o codigo dos usuarios....
tabela ´usuarios´... tem o codigo do setor...
tabela ´setor´ ... tem a descricao do setor com seu id....

teria como eu fazer este ligamento... sendo q atraves da tabela ´OS´ eu venha buscar o codigo do setor na tabela ´usuarios´ e depois buscar a descricao da mesma na tabela ´setor´ ????


grato...

valmar


Valmarsantos

Respostas

21/12/2005

Raserafim

tente assim:
select os.hora_inicio, os.hora_termino, 
tecnicos.nome_tecnico, setor.setor 

from os JOIN tecnicos on os.tecnico = tecnicos.matricula and usuários LEFT JOIN  setor on os.usuario = setor.id_setor

where tecnico=63 and os.status = 1



Responder Citar

21/12/2005

Valmarsantos

o problema que o os.usuarios naum eh diferente do id_setor

sendo q os.usuarios tem q ter referencia a usuarios.setor. e depois
setor.setor....


qria fazer uma referencia em relacao as tres tabelas...

mas naum ta dando certo


Responder Citar

22/12/2005

Raserafim

a nomenclatura destes seus campos.... não tá legal não


Responder Citar

22/12/2005

Emerson

tente algo assim:

select
  os.hora_inicio, os.hora_termino,
  tecnicos.nome_tecnico, setor.setor
from
  os
left join
  tecnicos on (tecnicos.matricula = os.tecnico)
left join
  usuarios on (usuarios.usuario = os.usuario)
left join
  setor on (setor.id_setor = usuarios.setor)
where
  os.tecnico = 63
  and os.status = 1



Responder Citar