Re: psql -tAc '...' Ergebnis dann in WHERE id in (...) verwenden

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: psql -tAc '...' Ergebnis dann in WHERE id in (...) verwenden
Date: 2011-08-24 09:23:52
Message-ID: 20110824092352.GA17466@tux
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Thomas Guettler <hv(at)tbz-pariv(dot)de> wrote:

> Hallo,
>
> mit psql -tAc 'SELECT spalte WHERE ...' schreibe ich in eine Datei:
>
> Ergebnis: zeilen.txt
> zeile1
> zeile2
> ...
>
> Später möchte ich dieses Ergebnis dann wiederverwenden:
>
> SELECT * from ... WHERE foo in ('zeile1', 'zeile2', 'zeile3', ...)
>
> Prinzipiell kann man relativ einfach mit sed|awk|python die Datei zeilen.txt
> zu dem gewünschten SQL Statement ändern.
>
> Aber vielleicht gibt es einen leichteren Weg.
>
> Problem verstanden? Wie macht ihr das?

Vielleicht. Du willst also gleich das als String so haben, daß Du das
für die IN ( ... ) verwenden kannst.

kretschmer(at)tux:~$ psql -tAc 'SELECT val from foo' test
10
12
13
13
14
14
kretschmer(at)tux:~$ psql -tAc "SELECT string_agg(quote_literal(val),',') from foo" test
'10','12','13','13','14','14'

Sowas in der Art?

Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Thomas Uzunoff 2011-08-24 15:10:58 Benutzer für Datenbank komplett sperren - Wie?
Previous Message Philipp Lawitschka 2011-08-24 09:20:51 Re: psql -tAc '...' Ergebnis dann in WHERE id in (...) verwenden