我不是很喜欢SQL而且我有以下问题。
所以基本上我有一个包含以下字段的表:
id: BigInt
geographical_position: Geometry
// SOME OTHER FIELDS IRRILEVANT FOR MY QUERY
我想选择包含2个特定记录的 geographic_position 值的单个记录(必须在同一记录中显示),所以我尝试做这样的事情:
SELECT
a.geographical_position AS point1,
a.geographical_position AS point2
FROM accomodation a
where a.id = 31 and a.id = 32
但它似乎是错误的,因为获得一个空的结果集。
基本上我想获取名为 point1 的单元格中 id = 31 的记录的 geographic_position 以及 geographic_position < / strong>在名为 point2 的单元格中 id = 32 的记录。
我该怎么办?我的查询有什么问题?我该如何解决?
答案 0 :(得分:2)
我认为你可以使用self join
。
SELECT
a1.geographical_position AS point1,
a2.geographical_position AS point2
FROM accomodation a1
JOIN accomodation a2 ON a1.id=31 and a2.id=32
您当前的查询错误,因为id
不能同时拥有2个值。
答案 1 :(得分:1)
指定表格两次并相应地引用:
SELECT
a.geographical_position AS point1,
b.geographical_position AS point2
FROM accomodation a, accomodation b
where a.id = 31 and b.id = 32