in reply to Data Set Combination

I think you can do this directly in DBD::CSV with a combination of joins, user-defined functions, and the new CREATE TABLE AS SELECT ... syntax. The last two features require the SQL::Statement 1.14 or later.

Here's an example of a simple calculation with a User Defined Function

#!/usr/bin/perl -w use strict; use DBI; my $dbh=DBI->connect("dbi:CSV(RaiseError=1):csv_eol=\n"); sub MyCalc { $_[3] * 2 } $dbh->do("CREATE FUNCTION MyCalc"); my $sth = $dbh->prepare(q{ SELECT sales,MyCalc(sales) FROM Test }); $sth->execute; $sth->dump_results(); __END__ # # given sales values of 2 and 5, this script outputs # # 2,4 # 5,10

See SQL::Statement::Functions for more on creating User Defined Functions.

To create a new table from a join of two existing tables, use something like:
CREATE TABLE new AS SELECT $cols FROM old1 JOIN old2 WHERE ...

Replies are listed 'Best First'.
Re^2: Data Set Combination
by Anonymous Monk on Aug 29, 2005 at 14:18 UTC
    Interesting idea of using a function within the SQL statement to combine the sets to a third table on-the fly. I have no experience in this, but it seems very doable. I will have to do the required reading before starting. Thank you for the cool option.