相关疑难解决方法(0)

在SQL计算中使用别名

为什么这个查询不起作用?

SELECT 10 AS my_num, my_num*5 AS another_number
FROM table
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我试图在其他计算中使用my_num别名.这导致未知列"my_num"

这是我想要做的简化版本,但基本上我想使用别名来进行其他计算.我的计算要复杂得多,这就是为什么别名它的好处,因为我会用不同的方式重复几次.

mysql sql database syntax

58
推荐指数
3
解决办法
4万
查看次数

可以重用子查询吗?

我在尝试执行查询时遇到了一些问题.我有两个表,一个包含元素信息,另一个表包含与第一个表的元素相关的记录.我们的想法是在同一行中获取元素信息和几条记录信息.

结构可以解释如下:

 table [ id, name ]
 [1, '1'], [2, '2']

 table2 [ id, type, value ]
 [1, 1, '2009-12-02']
 [1, 2, '2010-01-03']
 [1, 4, '2010-01-03']
 [2, 1, '2010-01-02']
 [2, 2, '2010-01-02']
 [2, 2, '2010-01-03']
 [2, 3, '2010-01-07']
 [2, 4, '2010-01-07']
Run Code Online (Sandbox Code Playgroud)

这是我想要实现的目标:

 result [id, name, Column1, Column2, Column3, Column4]

 [1, '1', '2009-12-02', '2010-01-03', , '2010-01-03']
 [2, '2', '2010-01-02', '2010-01-02', '2010-01-07', '2010-01-07']
Run Code Online (Sandbox Code Playgroud)

以下查询获得了正确的结果,但在我看来效率非常低,不得不为每列迭代table2.无论如何都可以做一个子查询并重用它?

SELECT
      a.id,
      a.name,
      (select min(value) from table2 t where t.id = subquery.id and t.type = 1 group by …
Run Code Online (Sandbox Code Playgroud)

sql subquery query-optimization

20
推荐指数
2
解决办法
3万
查看次数

标签 统计

sql ×2

database ×1

mysql ×1

query-optimization ×1

subquery ×1

syntax ×1