So if I understand this correctly my new cur.execute would read: 

account = 'JPMC'

 cur.execute("SELECT SUM(revusd) FROM sfdc where saccount = %s AND stage LIKE 
'Commit%';",(account ))

and that would translate to 

cur.execute("SELECT SUM(revusd) FROM sfdc where saccount = 'JPMC' AND stage 
LIKE 'Commit%';")

is that right?



Note You can use a Python list as the argument of the IN operator using the 
PostgreSQL ANY operator.
ids = [10, 20, 30]
cur.execute("SELECT * FROM data WHERE id = ANY(%s);", (ids,))
Furthermore ANY can also work with empty lists, whereas IN () is a SQL syntax 
error.

-----Original Message-----
From: Adrian Klaver <[email protected]> 
Sent: Monday, December 7, 2020 3:04 PM
To: [email protected]; [email protected]; [email protected]
Subject: Re: Inserting variable into

On 12/7/20 2:02 PM, [email protected] wrote:
> Hello,
> 
> I'd like to use a variable for 'Big Company' (e.g. account) or where = 
> statements generally in my cur.execute statements:
> 
> cur.execute("SELECT SUM(revusd) FROM sfdc where saccount = 'Big Company' AND 
> stage LIKE 'Commit%';")
> commitd1 = cur.fetchone()
> conn.commit()
> 
> but I don't know the proper syntax with the cur.execute statement to use a 
> variable.

https://www.psycopg.org/docs/usage.html#passing-parameters-to-sql-queries

> 
> I imagine others do  - thanks!
> 
> Best,
> 
> Hagen
> 
> 
> 


-- 
Adrian Klaver
[email protected]





Reply via email to