Question: In my script I pass Object `ID` as querystring parameter. like `?idobject=1962`

Now first I have to access from the `OBJECTS` table the `GeoLat` and `GeoLng` columns
and I have to check again if there are other objects containing the same `Geo Data`

```
SELECT GeoLng, GeoLat
FROM OBJECTS
WHERE ID = 1962   

```

from above query I have to read the `GeoLng` and `GeoLat` variables and have to write the second query as follows

```
SELECT O.ID
FROM OBJECTS O
WHERE GeoLng = '12.72812515' /* will be taken from above query */
AND GeoLat   = '47.7794388' /* will be taken from above query */

AND EXISTS(
    SELECT ID 
    FROM InfObjects 
    WHERE ID = O.ID
    )

```

Can I write these 2 queries into a single query?
Thanks

Answer: 
**Edit:** Updated based on Rich's comment.

What you need is a self-join.

```
SELECT O2.ID
FROM OBJECTS O1
JOIN OBJECTS O2 on O1.GeoLng = O2.GeoLng AND O1.GeoLat = O2.GeoLng
WHERE O1.ID = 1962   
AND EXISTS(
    SELECT ID 
    FROM InfObjects 
    WHERE ID = O2.ID
)

```

Or even more efficiently, like this:

```
SELECT O2.ID
FROM OBJECTS O1
JOIN OBJECTS O2 on O1.GeoLng = O2.GeoLng AND O1.GeoLat = O2.GeoLng
JOIN InfObjects I ON O2.ID = I.ID
WHERE O1.ID = 1962   

```
```
SELECT O.ID
FROM OBJECTS OID
INNER JOIN Objects O ON O.GeoLng = OID.GeoLng AND O.GeoLat = OID.GeoLat
WHERE OID.ID = 1962
AND EXISTS(
    SELECT ID 
    FROM InfObjects 
    WHERE ID = OID.ID
    )

```