【发布时间】:2019-12-08 14:58:33
【问题描述】:
我怀疑我需要的答案已经在某个地方的堆栈溢出,但我不确定我需要的函数是什么,因此不太知道要搜索什么......我认为这将是一个排序数组还是模数?
让我解释一下,作为一个相对初学者,请温柔一点。我当前的查询内容为:
SELECT c.C_Name, c.C_ID, q.Quote_Type from case c inner join Quotes q
on q.Case_ID = c.ID where q.Quote_Type = 'Every 10 Years' and c.created_Date
like '" & ((ComboBox_Year.Text - 10) & monthNumber) & "%'
我的表单的用户从组合框中选择了月份和年份,查询返回 10 年前的数据。
我的问题:有没有一种方法可以返回 20、30 和 40 年前的数据,而无需为每个数据写一个新的“或”行?
【问题讨论】:
-
您想在一次查询中选择 20、30 和 40 年的数据吗?
-
如果他们选择 20 等,查询将立即执行此操作,假设 monthNumber 相应更改
-
理想情况下。我不仅有一个 10 年的查询,我还想扩展它以增加 5、7、8 年的倍数的行。如果我对每一个都有一个查询,就会有 16 行“或”行!我认为一定有更好的方法...?
-
@MattDouhan - 抱歉,马特,应该澄清一下,'monthNumber' 是从一月、二月、三月等的组合框选择到 01、02、03 等的转换。
-
@trickyb_uk 你可以使用 IN 子句并发送一个逗号分隔的字符串,就像这样 select x from foo where date IN (10,20,30) ..... 这样你的 IN 子句可以是你想要的任何东西,但仍然只有一个查询