我试图从另一个表中获取最近的列(轴)的标题到我的主表列。 例如:
Main table with coordinates: Name, x, y
Axis table: title, x, y
现在让最近的Axis到Corrdinate:
SELECT main.*,
(SELECT ABS(axis.x-main.x) as min ,axis.title FROM axis WHERE y IS NULL ORDER BY min ASC LIMIT 1) sub_x
FROM corridinates_main
这样可行。但是我无法在子选择中选择两个列。我的想法是使用Subselect进行子选择,但是在子子选择中我无法访问主表的x坐标。 任何想法如何做到这一点?
答案 0 :(得分:0)
您可以使用CROSS JOIN而不是SubQuery
SELECT main.*, Min, Title
FROM corridinates_main
Cross Join
(
SELECT ABS(axis.x-main.x) as min, axis.title
FROM axis
WHERE y IS NULL
ORDER BY min ASC
LIMIT 1
) sub_x