Boa tarde a todos.
Sei somente o básico em SQL, mas preciso fazer um SELECT no MySQL com as seguintes informações:
SELECT Campo_Data_TABELA_HISTORICO , Campo_Matricula_TABELA_HISTORICO, IF (character_length( Campo_Matricula_TABELA_HISTORICO ) > 6, SELECT Nome_Funcionario_TABELA_FUNCIONARIO where …, SELECT Nome_Visitante_TABELA_VISITANTE  where … )  …
O meu problemas esta sendo no IF, pois o comando sem o IF funciona perfeitamente.
Não encontrei exemplos parecidos até o momento.
Agradeço desde já a ajuda.
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          Tentando melhorar a explicação: Quero fazer o teste com IF, para fazer um segundo SELECT.
Se TRUE: SELECT o nome do visitante na tabela Visitante.
Se FALSE: SELECT o nome do funcionário na tabela Funcionário.
Não sei se isso é possível, mas se alguém sobre de algo sobre já agradeço.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Um case não atende o que você precisa ?
Exemplo:
SELECT
	CASE CHARACTER_LENGTH(Campo_Matricula_TABELA_HISTORICO) WHEN 6 THEN
		//Busca na tabela de visitante
	ELSE
		//Busca na tabela de funcionário
	END 
FROM 
	SUA_TABELA;
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Ou caso queira permanecer com o uso do IF mesmo, isola as consultas!
SELECT IF(CHARACTER_LENGTH(Campo_Matricula_TABELA_HISTORICO) > 6, 
         (SELECT NOME_FUNCIONARIO FROM TABELA_FUNCIONARIO), 
         (SELECT NOME_VISITANTE FROM TABELA_VISITANTE)) AS NOME 
FROM SUA_TABELA;