Bases de Datos - Sql Select

 
Vista:
sin imagen de perfil
Val: 5
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Sql Select

Publicado por Daniel (3 intervenciones) el 07/05/2020 02:31:54
Buenos días a todos, tengo unas sentencias bastante complicadas para el nivel que tengo y necesito ayuda con ellas. He buscado en diferentes páginas y foros y no encuentro mucho la verdad.
Teniendo la siguiente tabla:

Tabla Antenas Telefónicas: id, provincia, ciudad, latitud, longitud.

1.Devolver la menor latitud mayor de 12.345, redondeando la respuesta a 3 decimales.(En esta selección me lía bastante la primera parte de la selección y el redondeo no sé como aplicarlo)

2.Devolver la longitud correspondiente a la latitud más pequeña superior a 12.345. (Esta selección es similar a la anterior)

3.Devolver la distancia de Manhattan entre dos puntos P1 y P2, siendo P1 el punto compuesto de la mayor latitud y la mayor longitud y el punto P2 compuesto por la menor latitud y la menor longitud. Redondea tu respuesta a 3 decimales. (En esta entiendo que se debe realizar la diferencia pero no sé como plantear las distintas operaciones)

4.De manera análoga al punto anterior, calcula la distancia Euclídea entre ambos puntos.(Y en esta no se que significa exactamente lo que se pide)

Espero que alguien pueda ayudarme con ello, un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Sql Select

Publicado por anonymous (41 intervenciones) el 30/05/2020 16:30:48
Podría ser así para las tres primeras
1--
1
2
3
SELECT ROUND(MIN(latitud),3)
FROM Antenas
WHERE latitud > 12.345

2--
1
2
3
SELECT longitud
FROM Antenas
WHERE latitud > (SELECT MIN(latitud) FROM Antenas) AND latitud > 12.345

3--
1
2
3
4
5
6
7
SELECT ROUND(latitud,3), ROUND(longitud,3)
FROM Antenas
WHERE CIUDAD = 'Manhattan'
AND longitud = (SELECT MAX(longitud) FROM Antenas)
AND latitud = (SELECT MAX(latitud) FROM Antenas)
AND longitud = (SELECT MIN(longitud) FROM Antenas)
AND longitud = (SELECT MIN(latitud) FROM Antenas)


La # 4 es bastante compleja porque hay que aplicar el terorema de pitagoras aplicando la fórmula: d(A,B) = √((XB – XA)^2) que es la que define la distancia euclidiana d(A,B) entre los puntos A y B

Pero es más o menos select SQRT(POWER(ROUND(............

Toca investigar, mirate este enlace: https://es.stackoverflow.com/questions/155840/como-calcular-distancia-entre-dos-puntos-en-sql-server
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar