gpt4 book ai didi

mysql - 如何在Active关系中创建sql,其中from子句中有子查询

转载 作者:行者123 更新时间:2023-11-29 12:45:59 25 4
gpt4 key购买 nike

我必须使用 Active Relation 进行 SQL 查询。

select * from (select * from purchase_order_items order by created_at desc) as abc where (fsn = '9788183071000' and sku ='SKU0000000000000') or (fsn = 'BAGD7SHVZZPPVAZH' and sku ='SKU0000000000000') or (fsn = 'CAMCUTS25Z2HSFE8' and sku ='SKU0000000000000') group by fsn ,sku

最好的、最优化的方法是什么。我已经尝试过

PurchaseOrderItem.where("(fsn = '9788183071000' and sku ='SKU0000000000000') or (fsn = 'BAGD7SHVZZPPVAZH' and sku ='SKU0000000000000') or (fsn = 'CAMCUTS25Z2HSFE8' and sku ='SKU0000000000000')").order('created_at')

但是组没有按要求发生。表由rails中的模型名称决定。有什么办法可以进行上述查询吗?

我不想将其作为普通查询传递。

最佳答案

您可以使用 Arel 来进行组合 SQL 查询。

p = PurchaseOrderItem.arel_table
User.where((p[:fsn].eq('9788183071000').and(p[:sku].eq('SKU0000000000000')).or(p[: fsn].eq('BAGD7SHVZZPPVAZH').and(p[:sku].eq('SKU0000000000000')).or(p[: fsn].eq('CAMCUTS25Z2HSFE8').and(p[:sku].eq('SKU0000000000000'))).order("fsn, sku")

关于mysql - 如何在Active关系中创建sql,其中from子句中有子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25424732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com