Fórum subselect no mysql #154479

12/04/2003

0

estou tentando fazer um subselect com o mysql 4.0 e tenho sempre um erro de syntax para:

select canins from candidato where canins not in (select apucod from apuracao)

o que tento selecioar sao todos os cantidatos que não estejam na tabela apuração.

pensei que o mysql não suporta subselect, mas no manual da versao 3.5 vejo a referência para subselect.

o que devo fazer ?


Tomcorreia

Tomcorreia

Responder

Posts

12/04/2003

Aroldo Zanela

estou tentando fazer um subselect com o mysql 4.0 e tenho sempre um erro de syntax para: select canins from candidato where canins not in (select apucod from apuracao) o que tento selecioar sao todos os cantidatos que não estejam na tabela apuração. pensei que o mysql não suporta subselect, mas no manual da versao 3.5 vejo a referência para subselect. o que devo fazer ?

Colega,
Aparentemente não tem nenhum problema. Qual é a mensagem de erro?
select * from medicamentos
where med_id not in
(select med_id from medicamentos_lote)



Responder

Gostei + 0

12/04/2003

Tomcorreia

o erro é o seguinte:
You have an error in your SQL syntax near ´select apucod from apuracao)´ at line 1

lembre-se que estou usano o mysql.

vendo o seu exemplo, observo que o nome dos campos das tabelas sao iguais. tem alguma coisa a ver ?


Responder

Gostei + 0

13/04/2003

Aroldo Zanela

o erro é o seguinte: You have an error in your SQL syntax near ´select apucod from apuracao)´ at line 1 lembre-se que estou usano o mysql. vendo o seu exemplo, observo que o nome dos campos das tabelas sao iguais. tem alguma coisa a ver ?


Os nomes não precisam ser iguais, apenas os tipos de dados, ou então, usar Cast ou Convert conforme o caso.


Responder

Gostei + 0

13/04/2003

Kandrus

Este erro esta acontecendo pq o MySQL 4.0.12 ainda não tem suporte as funções in() e not in() estas funções estão disponiveis apenas na verssão 4.10 Alpha Released que já esta disponivel para download no site www.mysql.com a MySQL AB utiiza o Alpha para indicar q a verssão já esta em testes sendo assim existem poucos bugs graves mas para a utilização de subselect nas verssões anteriores ao MySQL 4.10 vc pode utilizar a seguinte sintax

No exemplo abaixo mostra como selecionar um campo em uma tabela se a id da tabela 1 coinsidir com a id da tabela 2

SELECT tabela1.* FROM tabela1, tabela2 WHERE tabela1.id = tabela2.id

Espero ter ajudado!!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar