Sql ta dando erro!

Pessoal o nome dos campos da minha tabela são números, isso pode ou não?? Pq na minha instrução dá erro, mas qd troco o nome do campo pra uma palavra não dá erro. Pq??

String sql = "select Professores.CodDisciplina, Disponibilidade.Turno, Professores.Nome  from Professores inner join Disponibilidade on Professores.CodProfessor = Disponibilidade.CodProfessor where Disponibilidade.3 = 1";

erro: Erro listarDissponibilidade: java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Uso inválido de ‘.’, ‘!’ ou ‘()’. na expressão de consulta ‘Disponibilidade.3 = 1’.

o 3 é um nome de um campo na tabela??

hun…
é sim…

Mas vou ver se posso ajudar…

Sim, o 3 é o nome de um dos campos a tabela Disponibilidade.

Um nome de coluna não pode consistir somente de número.

ou seja, vc pode colocar coluna1, coluna2…

vlw!?

experimenta colocar o nome do atributo entre aspas duplas:

select Professores.CodDisciplina, Disponibilidade.Turno, Professores.Nome from Professores inner join Disponibilidade on Professores.CodProfessor = Disponibilidade.CodProfessor where Disponibilidade.“3” = 1

se teu banco de dados for Access, coloca entre chaves:

select Professores.CodDisciplina, Disponibilidade.Turno, Professores.Nome from Professores inner join Disponibilidade on Professores.CodProfessor = Disponibilidade.CodProfessor where Disponibilidade.[3] = 1