in reply to Re^2: join column 3 for unique values
in thread join column 3 for unique values
Since I don't have sybase, I'll have to set up a test environment in SQLite instead.
I had figured you already had the data in memory, but I guess not.
#!/usr/bin/perl # http://perlmonks.org/?node_id=1171182 use strict; use warnings; use DBI; my $dbfile = '/tmp/db.1171182'; unlink $dbfile; my $db = DBI->connect_cached( "DBI:SQLite(RaiseError=>1,PrintError=>0):$dbfile"); $db->do('create table testing (one text, two text, color text)'); $db->begin_work; while( <DATA> ) { $db->do('insert into testing (one, two, color) values (?, ?, ?)', {}, split ' '); } $db->commit; my $sth = $db->prepare('select one, two, color from testing'); $sth->execute; $_ = ''; while( my @row = $sth->fetchrow_array ) { $_ .= "@row\n"; } 1 while s/^(.*\n)((?:.*\n)*)\K\1//m; 1 while s/^(\S+ \S+ ).*\K\n((?:.*\n)*?)\1(.*\n)/:$3$2/m; print; __DATA__ A1 abc yellow A1 abc yellow B1 xyz green A2 cde red A1 abc green A2 cde yellow A1 abc blue
|
|---|