On Aug 29, 3:11 am, pie...@hogranch.com (John R Pierce) wrote:
> On 08/28/11 3:13 AM, pe...@vanroose.be wrote:
>
> > First remark: that's an unusual table design: I would have expected the
> > pivoted form of Table2. Why? Well, every time a row is added to Table1 
> > (DML),
> > a*column*  has to be added to Table2 (DDL).
>
> indeed, that was my initial reaction, it looked like a schema designed
> by a spreadsheet user.   It violates the tenets of relational data design.
>
> If the table was properly structured, the required data could be queried
> with a single JOIN, albeit not in the exact output form shown.
>
> --
> john r pierce                            N 37, W 122
> santa cruz ca                         mid-left coast



Thanks to Peter and Tiger and suggestion from John

Just posting the solution here



 $dbh = DBI->connect($databaseName, $databaseUser, $databasePw)
        or die "Connect failed: $DBI::errstr\n";
 $sth = $dbh->prepare("SELECT Name FROM currency_acc WHERE
currency='SGD'");
 $sth->execute();
 my @colnames = ();
 while (my @names = $sth->fetchrow_array()) { push @colnames,
$names[0]; }


 my $query = 'SELECT ACC';
 foreach (@colnames) { $query .= ', ' . $_; }
 $query .= ' FROM amount_type';

 $sth = $dbh->prepare($query);
 $sth->execute();
 my @names =  @{$sth->{NAME_uc}};
 print "@names \n";
 while (my @r = $sth->fetchrow_array()) { print "@r\n"; }


Thanks
Eddie


Reply via email to