Oi Samarone: Criei uma tabela aqui para tentar resolver o problema tabela CLONES: variedade mae pai J B B K A L C O D P E D N E W Tenho o clone K que tem a mae A que não é uma variedade que não consta no banco. O clone O tem a mae D, esta sim consta no banco.
Acho que consegui a query para listar as linhas que contêm 'órfãos' de mãe: select * from CLONES where mae NOT IN(SELECT DISTINCT variedade FROM `CLONES` WHERE variedade <> '' and variedade IS NOT NULL) and mae IS NOT NULL and mae <> '' Se for precisar analisar até o avô de uma 'variedade' estamos falando em armazenar dados hierárquicos no mysql. tem um texto be legal : http://www.sitepoint.com/article/hierarchical-data-database/ Espero que ajude. Abs Edinho 2008/6/10 Samarone Lopes <[EMAIL PROTECTED]>: > Respostas: > > 1) Deveriam, alem de adicionar as FKs tb teria que colocar como NOT NULL > para MAE e PAI, sendo que quando não soubermos quem eh o pai ou mae devera > ser cadastrado ali o clone de nome ( variedade ) "?" Que existe na base > > 2) Não, os dois não tem haver, é possível existir um clone assim. > > TR334455 | ? | ? > > 3) Não entendi bem, mas o que importa eh o seguinte, se uma variedade tem > como mae alguem que chama digamos BC334568 então deve existir uma variedade > com esse codigo assim como vc descreveu ali em baixo: > > GR445566| BC334568 | ? > BC334568| ? | ? > > E isso serve para PAI tb de forma analoga. > > 4) O problema consiste no seguinte: > > DG667788 | CG445566 | BC223344 > > Existir esse CLONE ai de nome ( variedade ) DG667788, porem sua MAE ( > CG445566 ) não constar na base e/ou seu PAI ( BC223344 ) > não existir na base. "O que eh existir na base ?", seria: > > para mae > CG445566 | nao importa | nao importa > > para pai > BC223344 | nao importa | nao importa > > > Edinho entendo que vc queira entender o problema do dominio das coisas, por > isso tentei te explicar a cima, porém a minha questao de resume ao seguinte: > > Se eu tenho uma select que devolve TODAS as MAES possiveis, { > 'A','B','C','D','E'} > > E tenho uma select que retornar as MAES que contam na base, {'B','D','E'} > > Eu gostaria de usar essas querys para me retornar {'A','C'} - que seria as > maes que estao no campo CLONES.mae e que não constam na base. > > Agradeço a atencao = ) > > > t++ > > 2008/6/9 Edinho Almeida <[EMAIL PROTECTED]>: > > é isso: >> variedade | mae | pai >> ? | BC334568 | ? >> BC334568| ? | ? >> >> Dúvidas: >> 1 - as 3 colunas estão sempre com dados ? >> 2 - o código da coluna variedade não leva em conta o código do pai ? >> 3 - sempre que se tem a variedade tem-se o código da mãe e do pai, mas >> não se sabe se uma mãe ou um pai tem uma variedade filha? >> 4 - tem como coloar algumas linha de exemplo, que possam nos definir o >> problema mais claramente? >> >> Abs >> Edinho >> >> >> 2008/6/9 Samarone Lopes <[EMAIL PROTECTED]>: >> > Ok, >> > >> > Então vou tentar deixar mais claro. >> > >> > Essa eh a tabela: CLONES >> > >> >> CREATE TABLE `clones` ( >> >> >> >> `VARIEDADE` varchar(20) collate latin1_general_ci NOT NULL, >> >> >> >> `MAE` varchar(20) collate latin1_general_ci default NULL, >> >> >> >> `PAI` varchar(20) collate latin1_general_ci default NULL >> >> >> >> PRIMARY KEY (`VARIEDADE`) >> >> ) >> > >> > O campo MAE deveria 'apontar' para uma tupla da mesma tabela, onde a >> FK(MAE) >> > e FK(PAI) se referenciaria a VARIEDADE >> > >> > Porém na modelagem do banco ( não fui eu que fiz ) não foram colocadas >> as >> > FK's. >> > >> > Assim, hoje existes tuplas na base que tem no campo MAE uma STRING, por >> > exemplo BC334568, a qual não existe um clone de nome ( VARIEDADE ) >> BC334568. >> > Eu preciso descobrir quem são essas mães e pais que não possuem >> VARIEDADE >> > correspondente cadastradas. Entende? Para poder adiciona-los na base >> como >> > sendo um clone de verdade de forma a poder alterar a tabela e adicionar >> as >> > FK's. Ficou mais claro ou complicou de vez? =)) >> > >> > t+ >> > >> > 2008/6/8 Newton Wagner <[EMAIL PROTECTED]>: >> >> >> >> 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í? :). >> >> >> >> Newton Wagner >> > >> > -- >> > Samarone Lopes - (31) 84833845 >> > _______________________________________________ >> > Lista mailing list >> > [email protected] >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > >> > >> >> >> >> -- >> Abs >> Edinho Almeida >> 11 3711-7074 >> 11 3564-8906 >> _______________________________________________ >> Lista mailing list >> [email protected] >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > > > -- > Samarone Lopes - (31) 84833845 > _______________________________________________ > Lista mailing list > [email protected] > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > > -- Abs Edinho Almeida 11 3711-7074 11 3564-8906
_______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

