[Cascavel-pm] agrupamento e seleção em DBI

Luis Motta Campos luismottacampos em yahoo.co.uk
Quarta Fevereiro 6 11:27:20 PST 2008


Rodrigo Fernandes wrote:
> Oi,
> 
> Gostaria de restringir o SELECT, abaixo, para caixanumero IN (10,11),
> por exemplo.
> 
> sub moritz{    
>     my $sqlstring = "
>         SELECT frutanome, frutacor, caixanumero
>         FROM user
>         WHERE fruta IN (
>             SELECT fruta
>             FROM user            
>             GROUP BY fruta
>             HAVING COUNT(*) > 1            
>         )         
>         ORDER BY frutanome, frutacor desc
>             ";            
>     my $dbh = DBI->connect("dbi:SQLite:dbname=dbfile","","");
>     $dbh->{RaiseError} = 1;    
>     for my $sql( split /;\n+/,"
>         $sqlstring"){
>         my $sth = $dbh->prepare($sql);
>         $sth->execute();        
>         $sth->dump_results if $sth->{NUM_OF_FIELDS};
>     }
>     $dbh->disconnect;   
> }
> 1;
> 
> Já tentei WHERE caixanumero IN (10,11) AND fruta IN ( ... mas não
> funcionou.
> 
> Já tentei outras coisas também, e nada. Estou quase apelando para um
> novo BD, criado a partir do output de moritz. Mas me parece que isto
> seria como desenroscar o parafuso com um alicate por não encontrar a
> chave de fenda.
> 
> Agradeço qualquer comentário,

Teu código é grande demais e não tem nada a ver com o problema que você 
está tentando resolver.

1. Manda a definição das tabelas que você está usando;
2. Reduz o teu problema *consistentemente* para a menor quantidade de 
código possível;
3. Se você tem problemas com SQL, eu não quero ver o teu Perl.

Se você ainda estiver brigando com o problema, eu estou disposto a 
ajudar. Mas preciso de mais informação.

Aguardo resposta.
Putamplexos!
-- 
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}


Mais detalhes sobre a lista de discussão Cascavel-pm