2017-04-26 40 views
5

如何在Qore的SqlUtil的where哈希中多次使用列?如何在Qore的SqlUtil中的where哈希中多次使用同一列

例如,SQL:colname in (...) and colname not in (...)

這裏一個那裏哈希看起來像:

hash sh = ('where': (
       'colname': op_in(...), 
       'colname': op_not(op_in(...)), 
     )); 

當然相同的密鑰不能在哈希使用一次以上。

回答

6

這是可能的 - 見:https://docs.qore.org/current/modules/SqlUtil/html/sql_operations.html#where_clauses

從文檔:

來引用列一次以上where子句中,與一個唯一的數字和冒號作爲前綴列規範下面的例子:

hash w = ("0:created": op_ge(mindate), "1:created": op_lt(maxdate)); 

的數字前綴如上述(沿與結腸)的例子中,當屬除去查詢並僅用於允許相同的列名在生成的查詢中多次出現。

你舉的例子可能看起來像:

hash sh = (
    "where": (
     "0:colname": op_in(...), 
     "1:colname": op_not(op_in(...)), 
    ), 
);