【问题标题】:Combining and summing tables in SQL在 SQL 中合并和求和表
【发布时间】:2015-03-04 20:15:13
【问题描述】:

我在使用 sql 查询时遇到问题,正在寻求帮助。

我有三个表(表 1、表 2、表 3)

  • 从表一中,我有列 a/b
  • 从表二我有列 c/d
  • 从表三我有列 e/f

我已将 a/c 列合并到 g 列中,并将 d/b 列合并到 h 列中

现在我想将 e 列匹配到 h 列(它们具有相同的名称),并将 g 列按 f 列分组。之后我想对它进行降序排序。

这是我目前所拥有的

select (one.a + two.c), (one.b + two.d)
from table_1 one, table_2 two
inner join table_3
on (one.b + two.d) = table_3.e

我收到一个错误“无效标识符”,我认为这是因为没有 (1.b + 2.d) 的组合名称。有谁知道如何将两者结合起来,然后总结 g 列?

【问题讨论】:

  • “组合”是指“添加”吗?这就是你的 SQL 所做的。如果您的意思是字符串连接,请使用CONCAT 函数。
  • 我将一列长度为 n 的列和另一列长度为 m 并将它们转换为长度为 n+m 的列
  • CONCAT(one.a, two.c)

标签: mysql sql join


【解决方案1】:

我相信您的问题可能是您的表使用了以数字字符开头的标识符。尝试使用以字母数字字符开头的标识符:

select (t1.a + 2.c), (t1.b + 2.d)
from table_1 t1, table_2 t2
inner join table_3
on (t1.b + t2.d) = table_3.e

【讨论】:

  • 我的表名实际上不是 1,2,3。抱歉,我在发布之前更改了它们
猜你喜欢
  • 2021-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多