2016-01-20 17 views
1

我有這個疑問在python:Python列表到SQL IN參數

ssim_group = [S1200,S1300] 

query = '''select WIPMessageCnt from waferdata where recipename in (%s) and equipment = ? 
          and runtype = ? order by stopts desc limit 1''' % (','.join(ssim_grp)) 

打印查詢

當前結果

從waferdata

選擇WIPMessageCnt其中爲recipename在(S1200 ,S1460)和設備=? 和runtype =?爲了通過stopts DESC LIMIT 1個

預期結果應該是像從waferdata此

選擇WIPMessageCnt其中RecipeName中在( 'S1200', 'S1460')和設備=? 和runtype =?爲了通過stopts遞減限制1

名單應該有一個qoutation每個元素,當我試圖把它們IN參數內的SQL。我怎樣才能做到這一點?

+0

可能重複的[如何傳遞MySQL存儲過程中的字符串列表?](http://stackoverflow.com/questions/16103058/how-to-pass-a-list-of-string- in-mysql-stored-procedure) – lad2025

+0

'... WHERE FIND_IN_SET(recipename,%s)> 0 ...' – lad2025

回答

1
ssim_group = ['S1200', 'S1300'] 
query = '''select WIPMessageCnt from waferdata where recipename in ('%s') and equipment = ? and runtype = ? order by stopts desc limit 1''' % ("','".join(ssim_group)) 
+0

這個工作。謝謝! @yanghaogn – essramos

+0

沒有,你可以點擊^給我 – yanghaogn