簡體   English   中英

如何在使用 python 的同一語句中使用 AND 和 OR 查詢/掃描 DynamoDB 中的表?

[英]How to query/scan a table in DynamoDB using AND and OR in the same statement using python?

我想在 DynamoDB 上查詢一個表並使用 python。 這個查詢的問題是我想在同一個查詢中使用 AND 和 OR 條件。 當值為 B 或 C 時,我希望查詢從一列中檢索值。

我有下表:

domain          validation_A        validation_B        validation_C
---------       -----------------   ---------------     ---------------
drene.com       pass                pass                pass
drene.com       pass                true                pass
drene.com       fail                pass                pass

在正則 SQL 表達式中,我將使用:

Select * 
from 
    ValidationTable 
where 
    domain = 'drene.com' and 
    validation_A = 'pass' and 
    (validation_B = 'pass' or validation_B = 'true') 

我不知道如何在 DynamoDB/Pythom 中做到這一點

我嘗試了以下方法:

response = table.scan(
                 IndexName="Date-index",
                 FilterExpression=Key('domain').eq('drene.com') & Attr('validation_A').eq('pass') & (Attr('validation_B').eq('pass') || Attr('validation_B').eq('true'))

)

但它不起作用

我需要查詢給我帶來前 2 行。

使用| 而不是||

response = table.scan(
                 IndexName="Date-index",
                 FilterExpression=Key('domain').eq('drene.com') & Attr('validation_A').eq('pass') & (Attr('validation_B').eq('pass') | Attr('validation_B').eq('true'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM