sql - 如果先前满足条件,则运行其他选择
问题描述
我有下一个选择:
SELECT
calories,
total
FROM user_food
WHERE login = 'blabla'
AND date >= '2020-11-14'
AND date < '2020-11-16'
GROUP BY date
ORDER BY date
如果当前选择满足下一个条件,我需要运行其他选择语句:
calories < ((30 / 100) * total)
桌子:
calories total login date
23 50 'www' '2020-11-12'
19 36 'abc' '2020-11-11'
10 50 'blabla' '2020-11-14'
13 50 'blabla' '2020-11-15'
换句话说,我需要类似的东西:
if(SELECT
calories,
total
FROM user_food
WHERE login = 'blabla'
AND date >= '2020-11-14'
AND date < '2020-11-16'
GROUP BY date
ORDER BY date) is calories < ((30 / 100) * total)
THEN (SELECT something)
解决方案
您所描述的内容通常由EXISTS
. 但是,您并没有真正提供足够的信息来提供详细的答案。但是结构是这样的:
SELECT <something>
. . .
WHERE EXISTS (SELECT
FROM user_food
WHERE login = 'blabla' AND
date >= '2020-11-14' AND
date < '2020-11-16' AND
calories < ((30.90 / 100) * total) AND
-- some sort of correlation clause
);
推荐阅读
- google-cloud-platform - BigQuery - 在 3TB 表中加入需要几个小时
- python - 如何在 django rest 框架中保存值数组
- node.js - 如何从 mongodb 集合中获取和分组数据,其中每个对象在组中具有相同的值
- freeradius - “Accounting-Request”FreeRadius UniFi 中缺少 Called-Station-Id 参数
- r - 如何向闪亮的应用程序添加多个图表?
- javascript - 在 JQuery 中选择子复选框
- facebook - 使用 oauth2 社交登录时,我总是会收到用户电子邮件吗?
- javascript - 在多次克隆具有相同类名的日期选择器后,我们可以使用类名调用 j 查询日期选择器(在 JavaScript 文件中)吗?
- reactjs - 使用 redux 中间件控制 react-router 导航
- nginx - 使用 nginx 代理进行测试的假 LDAP