Non so se ho capito bene cosa ti serve, ma con questo:<br>keys = [<br>    ("LDAP server", "Agent"),<br>    ("-LDAP-server-", "_S-"),<br>    ("Pippo'", "'pluto"),<br>

    ("Pippo", None),<br>    ("Pippo", "")<br>]<br><br>T=[]<br>for a,b in keys:<br>    print q.curs.mogrify("select trim(%s|| coalesce( '_'||%s,'' ),'_');",(a,b))<br>

    q.curs.execute("select trim(%s|| coalesce( '_'||%s,'' ),'_');",(a,b))<br>    T.append(q.curs.fetchone()[0])<br><br>print '\n'.join(T)<br><br><br>Ottengo:<br>>>> T=[]<br>

>>> for a,b in keys:<br>...     print q.curs.mogrify("select trim(%s|| coalesce( '_'||%s,'' ),'_');",(a,b))<br>...     q.curs.execute("select trim(%s|| coalesce( '_'||%s,'' ),'_');",(a,b))<br>

...     T.append(q.curs.fetchone()[0])<br>... <br>select trim('LDAP server'|| coalesce( '_'||'Agent','' ),'_');<br>select trim('-LDAP-server-'|| coalesce( '_'||'_S-','' ),'_');<br>

select trim('Pippo'''|| coalesce( '_'||'''pluto','' ),'_');<br>select trim('Pippo'|| coalesce( '_'||NULL,'' ),'_');<br>select trim('Pippo'|| coalesce( '_'||'','' ),'_');<br>

>>> print '\n'.join(T)<br>LDAP server_Agent<br>-LDAP-server-__S-<br>Pippo'_'pluto<br>Pippo<br>Pippo<br><br>Ciao<br>Stefano<br><br><br><br><div class="gmail_quote">2012/3/20 Simone Federici <span dir="ltr"><<a href="mailto:s.federici@gmail.com">s.federici@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>Dato queste coppie di chiavi</div><div><br></div><div>keys = [</div><div>    ("<font color="#ff0000">LDAP server</font>", "<font color="#ff0000">Agent</font>"),</div>

<div>    ("<font color="#ff0000">-LDAP-server-</font>", "<font color="#ff0000">_S-</font>"),</div>


<div>    ("<font color="#ff0000">Pippo'</font>", "<font color="#ff0000">'pluto</font>"),</div><div>    ("<font color="#ff0000">Pippo</font>", NULL)</div><div>    ("<font color="#ff0000">Pippo</font>", "")
</div><div>]</div><div><br></div><div>tramite SQL:</div><div><ul><li>PGSQL quote_literal(column1) || '_' ||quote_literal(column2)</li><li>SQLITE quote(col1) || '_' || quote(col2)</li><li>ORACLE ''''||replace(col1, '''', '''''')||'''_'''||replace(​col2, '''', '''''')||''''</li>



<li>MYSQL concat('''', replace(coalesce(column1, ''), '''', ''''''), '''_''', replace(coalesce(column2, ''), '''', ''''''), '''')</li>



</ul></div><div>otterrei questo:</div><div><div><ul><li>'<font color="#ff0000">LDAP server</font>'_'<font color="#ff0000">Agent</font>'</li><li>'<font color="#ff0000">-LDAP-server-</font>'_'<font color="#ff0000">_S-</font>'</li>



<li>'<font color="#ff0000">Pippo''</font>'_'<font color="#ff0000">''pluto</font>'</li><li>'<font color="#ff0000">Pippo</font>'_''</li><li>'<font color="#ff0000">Pippo</font>'_''    shoud be => '<font color="#ff0000">Pippo</font>'_</li>



</ul></div>
</div><div><br></div><div><b>c'è da capire come fare a differenziare gli ultimi 2 casi, con NULL o stringa vuota</b></div><div><br></div><div>Devo definire lato DB una funzione di concatenazione cross database che posso anche replicare in python.</div>



<div><br></div><div>in python è facile però santa miseria in ANSI SQL non si può fare un cavolo :-)</div>
<div><br></div><div>la risposta che dovrò farvi dopo la vostra prima domanda è:</div><div>La devo fare anche non in python perché mi serve su DB, questioni di performance joins tra tabelle.</div><div>Altrimenti dovrei prendere tutti gli id di tutta la tabella A, concatenarli e passarli alla query successiva sulla tabella B.</div>



<div><br></div><div><br></div><div>spiegazione lunga -> potete non leggerla e aiutarmi comunque a risolvere il problema :-)</div><div>è per la risoluzione di un problema per le chiavi composte per django, in relazione alle sue generic relations, dove django va a scrivere la chiave (content_id), essendo una app che deve andare bene per tetti i modelli  (guarda ad esempio il log dell'admin), deve funzionare anche con i modelli che hanno una chiave composta, quindi cosa ci scrivo dentro il content_id, qualcosa che mi concateni le parti delle chiavi e che però sia calcolabile anche con SQL per inserirlo nelle join tra le tabelle. </div>



<div><a href="https://github.com/simone/django-compositekey" target="_blank">https://github.com/simone/​django-compositekey</a>
</div><div><br></div><div>grazie</div><span class="HOEnZb"><font color="#888888"><div><span style="color:rgb(136,136,136)">S</span></div></font></span></div><br>
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br>