gpt4 book ai didi

mysql - 如何避免mysql查询中出现重复的子句

转载 作者:行者123 更新时间:2023-11-29 06:41:57 26 4
gpt4 key购买 nike

我需要按几个条件过滤我的任务表。

select * from tasks where initialPrice > 20 where status = 3

但是,如果此任务属于 userId = 1(例如) - 我需要使用其他附加状态(状态 = 1 和状态 = 5)来选择它。所以我的变体是:

从初始价格 > 20 且状态 = 3 或(状态 = 1 或状态 = 5 且 userId = 5 且初始价格 > 20)的任务中选择 *

是否可以避免条件重复?构建此查询的最佳方法是什么?

附言此外,此查询将与多个联接一起使用,并且很难在此查询的两个部分中重复联接和条件。

最佳答案

试试这个

select * from tasks 
where initialPrice > 20
and case when status = 3 Then 1 when status in (1,5) and userId = 5 Then 1 else 0 end = 1

关于mysql - 如何避免mysql查询中出现重复的子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51186139/

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