为什么这个查询不起作用?
SELECT 10 AS my_num, my_num*5 AS another_number
FROM table
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我试图在其他计算中使用my_num别名.这导致未知列"my_num"
这是我想要做的简化版本,但基本上我想使用别名来进行其他计算.我的计算要复杂得多,这就是为什么别名它的好处,因为我会用不同的方式重复几次.
我在尝试执行查询时遇到了一些问题.我有两个表,一个包含元素信息,另一个表包含与第一个表的元素相关的记录.我们的想法是在同一行中获取元素信息和几条记录信息.
结构可以解释如下:
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)