Hola de nuevo, jajajja.<br>Ahora cuando llegue a casa me puse con la solución que propones, pero cuando lo ejecuto solo imprime el guión. No imprime nada más, ¿que sera?<br><br><div class="gmail_quote">El día 9 de julio de 2008 13:49, Joaquin Ferrero <<a href="mailto:explorer@joaquinferrero.com" target="_blank">explorer@joaquinferrero.com</a>> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">El mié, 09-07-2008 a las 12:36 +0200, PEGG escribió:<br>
<div><div></div><div>> Hola, tengo una tabla en una BD de mysql que almacena el nombre de un<br>
> país y su correspondiente id.<br>
> Por ejemplo:<br>
> ID - País<br>
> 1 - ESP<br>
> 1 - USA<br>
> 1 - ITA<br>
> 2 - JPN<br>
> 2 - RUS<br>
> 3 - VEN<br>
><br>
> Mi problema es que tengo que consultar la tabla y juntar las<br>
> direcciones, quedando así:<br>
> ESP - USA<br>
> ESP - ITA<br>
> USA - ITA<br>
> JPN - RUS<br>
><br>
> VEN no aparecería porque está sola.<br>
><br>
> La consulta sql: "SELECT id, pais from direcciones".<br>
> He probado así:<br>
> while ( @direcciones = $sth->fetchrow_array() ) {<br>
> foreach $direccion (@direcciones) {<br>
><br>
> foreach $agrupa (@direcciones) {<br>
> if ( $direccion eq $agrupa ) { }<br>
> else {<br>
> print "\U$direccion;$agrupa\n";<br>
> }<br>
> }<br>
> }<br>
> Pero no lo muestra como quiero, ya no se que hacer.<br>
> Agradezco vuestros comentarios.<br>
<br>
</div></div>Hay que aplicar algo de combinatoria...<br>
<br>
#!/usr/bin/perl<br>
<br>
my @resultados = (<br>
[ 1 => ESP ],<br>
<div> [ 1 => USA ],<br>
[ 1 => ITA ],<br>
[ 2 => JPN ],<br>
[ 2 => RUS ],<br>
</div> [ 3 => VEN ],<br>
);<br>
<br>
# Leemos y hacemos la estadística<br>
my %resultados;<br>
foreach my $resultado ( @resultados ) {<br>
my ($ID, $pais) = @{$resultado}[0,1];<br>
<br>
push @{$resultados{ $ID }}, $pais;<br>
}<br>
<br>
# Sacamos las combinaciones<br>
foreach my $clave ( keys %resultados ) {<br>
<br>
my $numero_elementos = @{$resultados{$clave}};<br>
my $ultimo = $numero_elementos-1;<br>
<br>
if ( $numero_elementos > 1 ) {<br>
for my $x ( 0 .. $ultimo-1 ) {<br>
for my $y ( $x+1 .. $ultimo ) {<br>
print "$resultados{$clave}->[$x] - $resultados{$clave}->[$y]\n";<br>
}<br>
}<br>
}<br>
}<br>
<br>
__END__<br>
<font color="#888888"><br>
--<br>
JF^D<br>
</font><div><div></div><div><br>
<br>
_______________________________________________<br>
Madrid-pm mailing list<br>
<a href="mailto:Madrid-pm@pm.org" target="_blank">Madrid-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/madrid-pm" target="_blank">http://mail.pm.org/mailman/listinfo/madrid-pm</a><br>
</div></div></blockquote></div><br>