Qué pena, la verdad se me pasó.
Bueno, lo de asociar al campo me refiero al dato que tenga este registro en la base de datos. Me explico mejor.
Tengo que consultar unas cuentas de unos clientes y obtener unos registros de esa tabla; estas cuentas tienen el campo
pcelementobalanceid que me indica a qué
pcelementobalance corresponde. Supongamos que la tabla cuentas tiene un
pclementobalanceid 4; ahora debo armar la consulta a la tabla
pcelementobalance con el
id que me devuelve la tabla de cuentas.
Using text Syntax Highlighting
pcelementobalance
id=4
nivel=3
descripcion=xxxxx
pcelementobalanceid=3
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Supongamos que aquí consulto al
id 4 de la tabla
pcelementobalance, pero la tabla tiene un campo que se llama así mismo (
pcelementobalanceid), en este caso es 3, así que ahora debo consultar el 3 y así sucesivamente hasta que
pclementobalance sea igual a vacío, es decir, el último nivel. Pero, al encontrar este registro, entonces esto me indica que debe ir un nivel en el
hash, por ejemplo:
$hash{1}{2}{3}{4} = $vardelatablacuentaspero ahora sigo con la otra cuenta y ésta tiene un
pcelementobalanceid = 3, entonces se hace el mismo proceso, así que quedaría más o menos así:
$hash{1}{2}{3} = $vardelatablacuentasel 1 sería el último nivel, el 2 el que tiene como
pcelementobalanceid = 1, el 3 el que tiene
pcelementobalanceid = 2 y así sucesivamente. No sé si ahora sea vea un poco más claro...
La verdad, del código no llevo mucho, pues no se me ocurre cómo hacerlo:
Using perl Syntax Highlighting
$sql="select * from cuentas";
foreach my $ksql (@$sql){
next unless $ksql ;
$pcebCta = $$ksql {'pcelementobalanceorusid'};
if ($pcebCta ne ''){
while ($pcebCta != ""){
$rpcElementoBalance="select * from pcelementobalance where id=$pcebCta";
$pcebCta = "$$rpcElementoBalance{'pcelementobalanceid'}";
//supongo que aqui es donde se debe alimentar el hash
}
}
}Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Probablemente no encuentres clara esta sentencia; solo cambié la sintaxis de las consultas a SQL estándar porque aquí en el trabajo utilizan un motor totalmente diferente y utilizan algo más XML. Las consultas SQL que puse ahí solo las reemplazo según la sintaxis que maneja el motor de la empresa, así que no te preocupes si las sentencias no las ves claras.
Te agradezco mucho tu ayuda y por sobretodo la disposición que tienes, muchas gracias.