subselect no mysql

Delphi

12/04/2003

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

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

12/04/2003

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)



GOSTEI 0
Tomcorreia

Tomcorreia

12/04/2003

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 ?


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

12/04/2003

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.


GOSTEI 0
Kandrus

Kandrus

12/04/2003

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!!!!


GOSTEI 0
POSTAR