gpt4 book ai didi

sql - 从 column_name = all_values 的表中选择 column_name

转载 作者:行者123 更新时间:2023-11-29 12:56:09 24 4
gpt4 key购买 nike

我有一个这样的 REST 端点:

www.icecreamstore.com/stock?brand=hershey&flavour=vanilla

现在,

brandflavour 都是可选的。

因此以下内容也完全有效:

www.icecreamstore.com/stock?flavour=vanilla

www.icecreamstore.com/stock?brand=hershey

www.icecreamstore.com/stock

这些 API 映射到 SQL 查询:

select count(*) from stock where brand=?和 flavour=?

是否可以使用单个查询,而不是为每个请求参数组合编写单独的查询。

或者,

是否可以这样写一个查询:

从 brand=* 和 flavour=* 的库存中选择 count(*)

注意:在没有请求参数的情况下,我目前正在使用 column_name LIKE '%%' 使用 LIKE 进行管理。但是,如果列不存储字符串类型的值怎么办。

最佳答案

对于您的特定情况,最简单的方法可能是:

select count(*)
from stock
where brand = coalesce(?, brand) and flavour = coalesce(?, flavour);

这假设 brandflavour 永远不会是 NULL

如果它们可以是NULL,你可以使用is not distinct from:

select count(*)
from stock
where brand is not distinct from coalesce(?, brand) and
flavour is not distinct from coalesce(?, flavour);

关于sql - 从 column_name = all_values 的表中选择 column_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42806937/

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