|
Postada em 12/12/2005 00:05 hs
Olá pessoal, preciso fazer uma consulta SQL onde o valor de um alguns registros começam com "X", sendo que dependendo do dia trabalha uma escala diferente e esse "X" deve ser substituido pela escala do dia e comparado em outra tabela para buscar o nome do cara. (Por exemplo, hoje trabalha a Escala "A"), na tbl_cho o "X" deve ser substituido pela letra "A" e buscar o funcionario correspondente na tbl_cadastro. Será que alguém sabe? tbl_cadastro Func - Escala Mane - A01 Jose - B03 Fulano - D07 Ciclano - A04 Silva - SM1 Joaquim - E07 tbl_cho (essa tabela é referencia para selecionar os funcionarios na sequencia em que aparece.) seq_entrada X01 X02 SM1 SM2 X03 SM4 X04 X05 SM5 SM6 X06 X07 X08 SM7 X09 X10 X11 X12 .... MTurno="M" TTarde="T" NTurno="N" StrSql = "Select * from tbl_cadastro, tbl_cho" StrSql = StrSql & " where (left(ord_entrada, 1)) = " & "'" & MTurno & "'" StrSql = StrSql & " and tbl_cadastro.escala = tbl_cho.seq_entrada" '??????? StrSql = StrSql & " order by ord_entrada"
|
|
|
|
|
Postada em 12/12/2005 06:20 hs
Você pode usar a função Mid(str, x, x) que a maioria dos bd's tem e funcionam igualzinho ao mid do VB. Algo do tipo: Select Concat('A', mid(campo, 2,3)) from tbl_cho
|
|
|
|
Postada em 12/12/2005 14:51 hs
Kerplunk, não vai funcionar, pois não é só concatenar e sim verificar antes os registros se o inicial for "X", substituir por uma letra de escala, ok!
|
|
|
|
Postada em 13/12/2005 07:25 hs
Não sei se resolve o seu problema mas segue exemplo da sql que montei: SELECT TbCadastro.Funcionario, TbCadastro.Escala FROM TbCadastro, tbl_cho WHERE (((Right([TbCadastro]![Escala],2))=Right([tbl_cho]![Escala],2)));
dsmn
|
|
|
|
Postada em 13/12/2005 15:44 hs
valeu a intenção Daniel, mas ainda não resolveu, não posso pegar da direita para esquerda pois tem registro que passa de 4 casas, ai não funfa. O que eu preciso é substituir o "X" da tbl_cho por uma letra de escala do dia, por exemplo A, B, C, D ou E, ai sim buscar na tbl_cadastro.escala os caras que atendem este criterio. Talvez eu esteja montando errado a estrutura do BD.
|
|
|
|