1
我想翻譯從SQL轉換SQL到BQL在Acumatica
select * from table where table.field in('A','B')
到Acumatica BQL。
請幫我拿到這個信息。
我想翻譯從SQL轉換SQL到BQL在Acumatica
select * from table where table.field in('A','B')
到Acumatica BQL。
請幫我拿到這個信息。
有幾種方法可以做到這一點:
1.使用IN3 /或與BQL常數
你需要做的就是創建表示「A」和「B BQL常數的第一件事」。 就像是:
public class constantA: PX.Data.Constant<string>
{
public constantA() : base("A") { }
}
public class constantB: PX.Data.Constant<string>
{
public constantB() : base("B") { }
}
這將允許您使用A和B在BQL查詢。 (您可以找到有關,在T200的培訓,例3.1詳細信息:提供數據的查詢頁) (你可以使用PX.Data.Constant<int>
,PX.Data.Constant<decimal>
等,這取決於參數類型)
之後,你可以撰寫BQL:
PXSelect<Table, Where<Table.field, In3<constantA, constantB>>>
(或PXSelect<Table, Where<Table.field, Equal<constantA>, Or<Table.field, Equal<constantB>>>>
)
2.使用和所需的
PXSelect<Table, Where<Table.field, In<Required<Table.field>>>>.Select(graph, new string[]{"A","B"})
這種方式允許您在運行時編寫常量列表,並將其作爲參數傳遞給查詢。參數應該是相應類型的數組(在本例中爲字符串數組)。