就SQL如何将不同行的数据分类汇总到列

哎呀,我以前确实遇到过这个问题。
我记得那是2 01 6 年,我在一家小公司做数据库管理。
那时我们还在用Access。
有一次,我们想将Table2 中的数据导入到Table1 中,就出现了这个问题。

首先尝试了第一种写法:insert into table1 select from table2 这种写法是在Table1 的基础上直接插入Table2 的数据,相当于将Table2 的内容复制到Table1 中。
不过,这里有一个前提。
Table1 必须有对应的列,否则会报错。

然后,我尝试了第二种写法:select into table1 select from table2 这种写法实际上是在Table1 中创建了一个新表,然后将Table2 中的数据插入到这个新表中。
在这种情况下,Table1 不需要已有相应的列。
不过这个方法在Access中使用起来可能有点麻烦,因为如果Table1 已经存在的话就会报错。

后来我在ado界面中使用了这种写法,发现第一种方法更稳定。
在ado中操作数据库确实很简单,但是一定要注意列的匹配。

至于你说的这些,我从来没有接触过,也不敢乱说。
但根据我的经验,处理此类问题时ado+access的组合还是相当不错的。
哈哈,就像老司机开车一样,习惯就好!

关于使用sql语句sum(case when……)来实现分类汇总功能

是的,这就是问题所在。
首先比较总金额,然后比较销售额,最后检查名称。
小心EXCEl中的空格和隐藏字符。
SQL语句中注意不要写太多或太少的符号。

您编写的 SQL 代码有问题。
“Name 1 Sales”重复且必须匹配三个不同的名称。

用途 1 和 2 都是 CASE WHEN 用途。
使用哪一种取决于您的需要。
第一次使用更像是定义,第二次使用更像是过滤条件。

你自己看看,SQL语句一定要仔细检查。

如何用access进行分类汇总

哎哟,要在 Access 中进行排序和汇总,您必须使用 SQL 语句来发挥魔法。
让我们从一个名为“retmxls”的产品销售列表开始,其中包含日期、产品信息和销量等信息。
现在,让我们举个例子。

例如,要找出哪些天的销售额最高,您可以执行以下操作: SQL 语句 SELECT spid, rq, SUM(sshje) FROM retmxls GROUP BY rq, spid WITH ROLLUP ORDER BY spid;此方法会编译当天的销售记录并最终提供总计的摘要。

如果你想详细了解每种产品的销售情况,很容易。
使用不同的 SQL:SELECT spid, rq, SUM(sshje) FROM retmxls GROUP BY spid, rq WITH CUBE ORDER BY spid;这将列出每个产品和日期的销售数据。

如果您只想查看每天的总销售额,那也可以。
SQL 语句为: SELECT spid, rq, SUM(sshje) FROM retmxls ORDER BY rq COMPUTE SUM(sshje);这次我们将看到按日期列出的总销售额。

再举个例子,如果你想先按日期分组,然后汇总,就需要写SQL。
从 retmxls 中选择 spid、rq、sshje ORDER BY rq COMPUTE SUM(sshje) BY (rq);这样,您就可以查看每个日期范围内每种产品的总销售额。

所以,这些SQL语句就像一个武器库,可以让你根据需要灵活地对数据进行分类和汇总。
但说实话,当时我并不理解这些复杂的事情。
我一步一步地弄清楚了它们。