SELECT id, amount FROM report
我需要的amount
是amount
,如果report.type='P'
和-amount
如果report.type='N'
。如何将此添加到上面的查询中?
SELECT id,
IF(type = 'P', amount, amount * -1) as amount
FROM report
参见http://dev.mysql.com/doc/refman/5.0/en/control-flow-
functions.html
。
此外,您可以处理条件为null的情况。如果为零:
SELECT id,
IF(type = 'P', IFNULL(amount,0), IFNULL(amount,0) * -1) as amount
FROM report
该部分IFNULL(amount,0)
表示 当金额不为null时返回金额,否则返回0 。
我已经通读了所有其他文章,我没有找到我的答案。 我从一个带有对象选项的JOptionPane开始。当用户选择动物或栖息地时,会出现另一个带有选项的下拉列表。现在我正在努力让另一个信息弹出窗口在狮子被选中时打开。但我不能让它工作。 我还查看了其他人的输入,以便能够显示这些下拉列表。但他们使用的是JFrame,因此在NetBeans之外会打开另一个java窗口。 我现在要做的是为下拉列表中的选项输入i
我有一个java应用程序,它执行用户在UI上输入的SQL select语句。应用程序获取元数据以了解列类型: 一旦我得到结果集,对于每一行,我循环遍历列以了解类型。根据类型,我使用getInt()、getDate()或getString()获得值。 问题是,在某些情况下,select有一个很大的SUM(),当我执行getInt()时会出现一个数字溢出(我从JDBC驱动程序得到一个错误,在我的例子中
问题内容: 有没有一种方法可以在SQL中同时选择一列和其他列的总和? 例子: 问题答案: 尝试添加GROUP BY
问题内容: 以下工作-拒付金额等于1时返回Y,否则默认为N 但是我似乎无法使这一工作正常?语法有效吗 问题答案: 大概这可以工作:
问题内容: 好的,因此我对其他解决方案没有任何帮助。所以这就是我想要做的。我需要选择多列的行,其中一列的值是最大值。 这是样本数据 我需要选择整行,其中orderfileid是每个唯一商品编号的最大值 返回的数据集应该看起来像 我想我尝试过可以想到的select max(orderfileid)的每种组合 任何帮助都将被申请。谢谢 问题答案: 您需要在子查询中找到MAX值,然后使用这些结果将其连接
问题内容: 我有这样的桌子 我需要选择何时类型为0,何时类型为1,何时类型为N … 我怎样才能做到这一点? 问题答案: