Ezt hogyan? SQL

Figyelt kérdés

Adott 2 tábla. Posztok és helyek.


Jelenleg 2 kéréssel működik a keresés:


SELECT longitude, latitude FROM locations WHERE zipcode = 1234


Majd még 1 select


SELECT name, (

6371 *

acos(cos(radians($lat)) *

cos(radians(latitude)) *

cos(radians(longitude) -

radians($lon)) +

sin(radians($lat)) *

sin(radians(latitude)))

) AS distance FROM posts WHERE name LIKE '%asd%' HAVING distance < 15


Nem lehetne ezt a kettőt egybe fűzni, és az első selectből kiszedett latitude és longitude értékekkel folytatná a kérést?


2022. júl. 16. 17:55
1 2 3
 1/21 anonim ***** válasza:
6%

"Nem lehetne ezt a kettőt egybe fűzni, és az első selectből kiszedett latitude és longitude értékekkel folytatná a kérést?"

De.

2022. júl. 16. 21:43
Hasznos számodra ez a válasz?
 2/21 anonim ***** válasza:
A having mit keres ott???
2022. júl. 19. 00:10
Hasznos számodra ez a válasz?
 3/21 A kérdező kommentje:
Az a távolság kisebb mint 15 km
2022. júl. 19. 07:11
 4/21 anonim ***** válasza:
Nézz utána a HAVING használatának. Súgok: GROUP BY esetén használatos. Itt sima WHERE feltétel kell helyette.
2022. júl. 19. 09:19
Hasznos számodra ez a válasz?
 5/21 anonim ***** válasza:

Bocs, utánanéztem, valóban használható így, azaz aliasra tudsz így szűrni, de ez nem szabványos sql szintaxis.

5ös voltam.

2022. júl. 19. 09:23
Hasznos számodra ez a válasz?
 6/21 A kérdező kommentje:

Ezzel nincs is baj,

[link]


De a kérdésemre még mindig nem kaptam választ

2022. júl. 19. 09:57
 7/21 2*Sü ***** válasza:
Kellene látni, hogy pontosan mi az adattáblák szerkezete. Milyen mezőkből áll a „locations” és a „posts” tábla.
2022. júl. 19. 10:25
Hasznos számodra ez a válasz?
 8/21 A kérdező kommentje:
Erre mi szükség van? A posts táblából nekem csak a Name kell jelenleg
2022. júl. 19. 10:57
 9/21 anonim ***** válasza:

SELECT name, (


6371 *


acos(cos(radians(SELECT latitude FROM locations WHERE zipcode = 1234)) *


cos(radians(latitude)) *


cos(radians(longitude) -


radians(SELECT longitudeFROM locations WHERE zipcode = 1234)) +


sin(radians(SELECT latitude FROM locations WHERE zipcode = 1234)) *


sin(radians(latitude)))


) AS distance FROM posts WHERE name LIKE '%asd%' HAVING distance < 15

2022. júl. 19. 11:01
Hasznos számodra ez a válasz?
 10/21 2*Sü ***** válasza:

Ahhoz, hogy össze tudjuk kapcsolni a két táblát, kellenek azok a mezők, amik mentén össze tudjuk kapcsolni. A posts táblában van latitude és longitude mező? (Mert a második lekérdezés alapján úgy tűnik, hogy van, de kérdés, hogy az a lekérdezés amúgy jó-e. Meg a második lekérdezésben van egy $lat és egy $lon változónak tűnő valami, ami sejtésem szerint az első lekérdezésből jön, de ez még mindig csak sejtés.)


Ha megadod a két táblának a mezőit – vagy ami abból releváns –, akkor tudok segíteni.

2022. júl. 19. 11:01
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!