Moin Christian,
On Wed, Jun 03, 2009 at 15:41:24 +0200, Christian Weerts wrote:
> ich habe mal wieder eine schöne Aufgabe für unsere Knobelfreunde ;)
Schade schon zu spät - aber ich mach' trotzdem noch mit ;)
> Beispiel wie das Ergebnis aussehen sollte:
[...]
> "1002210";"Ersatzblatt, Motiv ABC, Verkehrsweiß RAL 9016, BR 2250x1920"
[...]
Auf die Anführungszeichen kommt's hoffentlich nicht an.
In Perl:
my %a;
<>;
while( <> ) {
s/^"//; s/";"/;/; s/"\s*$//;
my($a,$b) = split /;/;
push @{ $a{$a} }, $b
}
print "$_;" . join(", ", @{ $a{$_} }) . "\n" foreach sort keys %a;
Und in unserer Lieblingsdatenbank:
create function concat(text,text) returns text as 'select $1||'', ''||$2' language 'SQL';
create aggregate strjoin(sfunc=concat,basetype=text,stype=text,initcond='');
create table lines(a varchar, b varchar);
copy lines from '/home/fischer/foo.csv' delimiters ';' csv header quote as '"';
select a,strjoin(b) from lines group by a order by a;
Auf die Reihenfolge der einzelnen Werte im zweiten Feld kann man sich bei
der PostgreSQL-Variante allerdings nicht verlassen.
Jürgen
-- "The day Microsoft makes something that doesn't suck is probably the day they start making vacuum cleaners." -- Ernst Jan PluggeReceived on Wed Jun 03 2009 - 21:41:54 CEST
This archive was generated by hypermail 2.2.0 : Wed Jun 03 2009 - 21:42:07 CEST