Cara.. achei muito confuso o teu texto... sem saber exatamente o que é
"mãe", "pai" e a tal "variedade" e como eles se relacionam, fica meio
complicado ajudar...

Não tem como disponibilizar um MER disso aí pra gente dar uma olhada?
Ou tentar explicar um pouco melhor o que é cada coisa aí? :).


2008/6/8 Samarone Lopes <[EMAIL PROTECTED]>:
> Olá,
>
> Bem tenho uma questão aqui sobre uma sql. Tenho uma tabela que chama CLONES,
> nesta existem os campos CLONES.mae , CLONES.pai
> Nessa tabela DEVERIA haver uma autoferencia de CLONES.mae ->
> CLONES.variedade e CLONES.pai -> CLONES.variedade , porém ela não existe
> ( é o que preciso fazer), pois o problema é que está tabela está em uso e
> existem entradas tanto em MAE e PAI que não existem na tabela como VARIEDADE
> - preciso descobrir quem são estes -, ou seja, se eu adicionar a chave
> estrangeira para a autoreferencia ele acusa o erro. Eu quebrei a cabeça aqui
> e consegui fazer essa sql:
>
> SELECT a.variedade, a.mae, a.mae IN (SELECT DISTINCT b.variedade FROM clones
> b, clones c WHERE b.variedade = c.mae GROUP BY b.variedade) AS resp FROM
> clones a
>
> Que me retorna as tuplas com | variedade ( filho ) | mae | resp ( bool ) | .
> Ok, funciona porém é muito demorada porque a tabela tem cerca de 10000 mil
> registros. Em meu computador
> demorou cerca de 5'30'' e no host da locaweb cerca de 4'30' . No caso essa
> solucão me serve porque resolve o problema de encontrar as tais maes. Porém
> gosto de ter consultar otimizadas e fiquei tentando varias combinacoes
> melhor e nao consegui nada. Eu tentei coisas com (NOT) EXISTS ; (NOT) IN.
>
> O que eu gostaria mesmo de fazer seria:
>
> Conjunto A = SELECT DISTINCT b.mae FROM CLONES b => Todas as maes
> Conjunto B = SELECT DISTINCT b.variedade FROM clones b, clones c WHERE
> b.variedade = c.mae GROUP BY b.variedade => As maes que estao em situacao
> correta
>
> Assim precisaria de algo que fizesse A - B
>
> Desculpem o texto longo
>
> Se alguem tiver alguma ideia por favor sinta-se a vontade para opinar.
>
> t+
>
> --
> Samarone Lopes
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>



-- 
Newton Wagner

skype: newtonwagner
msn/gtalk: [EMAIL PROTECTED]

http://www.newtonwagner.net/blog
- http://www.owshit.com.br/

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a