如何实现返回包含2个特定记录中包含的信息的单个记录的查询?

时间:2016-11-07 19:43:56

标签: mysql sql

我不是很喜欢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 的记录。

我该怎么办?我的查询有什么问题?我该如何解决?

2 个答案:

答案 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