作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 having 子句有问题。我想比较具有相同出价但不同 sens 字段的两个总和我得到这个输出:
SELECT v.bid
FROM v1 v
WHERE sens = 'c'
GROUP BY bid
HAVING Sum(mont) < (SELECT Sum(l.mont)
FROM v1 l
WHERE sens = 'd'
AND l.bid = v.bid group by l.bid);
ERROR 1054 (42S22): Field 'v.bid unknown in field list`
编辑:V1 是一个 View ,我使用别名 l 和 v 试图将子查询连接到主查询
抱歉,伙计们,谢谢大家的回答,我在原始表格的列中遇到了问题,现在已经解决了:)
最佳答案
不需要从此表中进行两次选择,您可以为此目的使用CASE EXPRESSION
:
SELECT v.bid FROM v1 v
GROUP BY v.bid
HAVING SUM(CASE WHEN v.sens = 'c' THEN v.mont ELSE 0 END) <
SUM(CASE WHEN v.sens = 'd' THEN v.mont ELSE 0 END)
AND COUNT(CASE WHEN v.sens = 'c' THEN 1 END) > 0
关于带有相关查询的 MySQL Having 子句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40017431/
我是一名优秀的程序员,十分优秀!