我的问题的简化版本:
SELECT
2 + 3 AS Test1
FROM TableA
LEFT JOIN TableB
ON TableB.Column1 = Test1
它不知道连接中的Test1。我是否可以通过连接来理解主要字段列表中的值,例如Test1?
答案 0 :(得分:2)
第一个选项是在ON
中使用相同的聚合函数:
SELECT
2 + 3 AS Test1
FROM TableA
LEFT JOIN TableB
ON TableB.Column1 = 2 + 3
或者,您可以使用内部SELECT
查询:
SELECT *
FROM (
SELECT 2 + 3 AS Test1
FROM TableA) MyTable
LEFT JOIN TableB
ON TableB.Column1 = MyTable.Test1
答案 1 :(得分:0)
您可以像这样包装第一个查询:
SELECT * /*(or whatever you need here)*/
FROM (SELECT 2 + 3 AS Test1 FROM TableA) a
LEFT JOIN TableB
ON TableB.Column1 = a.Test1
答案 2 :(得分:0)
您还可以使用变量:
set @test1 = 1;
SELECT
@test1 as Test1
FROM category
JOIN users on users.id = @test1