当前位置: 首页 > 面试题库 >

如何在没有where子句的情况下从两个不同的表计算两列的总和?

周峻
2023-03-14
问题内容

我正在使用以下sql语句对来自两个不同表的两个列中的值求和。该语句可以输出,但不能输出所需的结果。

SELECT
SUM(`_income`.rate) AS Income,
SUM(`_expense`.rate) AS Expense,
SUM(_income.rate)-SUM(_expense.rate) AS Balance
FROM `_expense`, `_income`

我的桌子在这里:

CREATE TABLE IF NOT EXISTS `_expense` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `item` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `qnty` int(11) NOT NULL,
  `rate` int(11) NOT NULL,
  `date` date NOT NULL,
  `CreatedByPHPRunner` int(11) NOT NULL,
  `remarks` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--

-转储表数据 _expense

INSERT INTO `_expense` (`id`, `item`, `qnty`, `rate`, `date`, `CreatedByPHPRunner`,   `remarks`) VALUES
(2, 'Maian', 2, 20, '2013-08-15', 0, 'A tui kher mai'),
(3, 'Battery', 1, 2100, '2013-08-15', 0, 'A lian chi');

--

-表格的表格结构 _income

CREATE TABLE IF NOT EXISTS `_income` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `items` varchar(100) DEFAULT NULL,
  `qnty` int(11) DEFAULT NULL,
  `rate` int(11) DEFAULT NULL,
  `date` date DEFAULT NULL,
  `remarks` varchar(255) DEFAULT NULL,
  `CreatedByPHPRunner` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--

-转储表数据 _income

INSERT INTO `_income` (`id`, `items`, `qnty`, `rate`, `date`, `remarks`, `CreatedByPHPRunner`) VALUES
(1, 'TV chhe siam', 1, 1500, '2013-08-15', 'Ka hniam hrep', NULL),
(2, 'First Star', 1, 25, '2013-08-15', 'A loose-in aw', NULL),
(3, 'Mobile Chhe siam', 2, 200, '2013-08-13', 'Nokia chhuak ho a nia', NULL),
(4, 'Internet hman man', 1, 1500, '2013-08-14', 'Ka net min hman sak a', NULL);

问题答案:

这应该做到这一点:

select income, expense, income-expense balance
from (select sum(rate) income
      from _income) i
JOIN (select sum(rate) expense
      from _expense) e


 类似资料:
  • 我试图让发送消息给另一方的用户和接收消息的用户在每行的一行中。 那么oracle sql查询应该是什么呢

  • rbindlist做的正是我需要的,但'do.call'做不到! do.Call不是我想要的

  • 所以我在和烦人的问题作斗争。我想同时运行2个动画,但如果没有: 这让一切都变得波涛汹涌,我想要根除这一点。 当我在两个动画控制器中删除并运行此函数时: 它只运行第一个动画控制器,而不运行第二个。动画是简单的tween,彼此相反,所以我想做一些东西,用一个tween,对于第二个属性,我做一些反函数,但我想不出任何解,所以它实际上是可行的。也许我错过了一些简单的东西。 以下是我的完整代码: 如有任何帮

  • 这两个dataframe没有任何公共列。两个数据流中的行数和列数也不同。我尝试插入一个新的虚拟列,以增加row_index值,如下val dfr=df1.withcolumn(“row_index”,monotonically_increasing_id())所示。 但由于我使用的是Spark2,因此不支持monotonically_increasing_id方法。有没有办法把两个datafram

  • 你好,我有个问题。以下是代码示例: 我有一个多选表格: 这是我的开关盒: 代码的工作原理是,如果用户选择例如GB11,结果将是: 工厂GB11 ZMD_LPLCNMAT_GB11 ZMD_LPQAMAT_GB11 ZMD_LSOCNMAT_GB11 ZMD_PLNTMAT_GB11 ZMD_SLSVMAT_GB11 当我选择GB10和GB20时,我不想选择得到结果,例如“测试”,而不是它们的组合。

  • 问题内容: 我有一个查询: 我只想从表中选择周期和年份等于的行: 我知道最简单的方法是使用连接,但是问题是-在应用程序中,我只能在后面添加一个子句 因此,解决方案应该是: 那可能吗? 编辑: 结果应与以下相同: 问题答案: 您可以为条件使用多个列: 但是戈登的解决方案可能更快。