簡化我的版本問題上「對條款」未知列:MySQL的:對於重命名的列
SELECT
2 + 3 AS Test1
FROM TableA
LEFT JOIN TableB
ON TableB.Column1 = Test1
它不知道Test1的加入。我可以讓連接理解Test1等主要字段列表中的值嗎?
簡化我的版本問題上「對條款」未知列:MySQL的:對於重命名的列
SELECT
2 + 3 AS Test1
FROM TableA
LEFT JOIN TableB
ON TableB.Column1 = Test1
它不知道Test1的加入。我可以讓連接理解Test1等主要字段列表中的值嗎?
第一種選擇是使用在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
你可以用像第一查詢這個:
SELECT * /*(or whatever you need here)*/
FROM (SELECT 2 + 3 AS Test1 FROM TableA) a
LEFT JOIN TableB
ON TableB.Column1 = a.Test1
你也可以使用變量:
set @test1 = 1;
SELECT
@test1 as Test1
FROM category
JOIN users on users.id = @test1
我甚至沒有考慮將計算移動到JOIN,但沒有理由不。謝謝。 – Miklos