Warunek where na kolumnie która jest wyliczana z dwóch pozostałych. |
Warunek where na kolumnie która jest wyliczana z dwóch pozostałych. |
28.07.2019, 18:14:48
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 11.10.2013 Ostrzeżenie: (0%) |
Cześć, mam tabelę zawierającą współrzędne punktu (xa, ya), chcę zrobić zapytanie które po podaniu 2 punktu i maksymalnej długości zwróci mi wyniki których odległość będzie mniejsza od maksymalnej. Czyli coś takiego:
Niestety dostaje zwrotkę że kolumna distance nie istnieje. Czy macie może pomysł jak inaczej to ugryźć, myślałem może o Storage procedure ale nie mam pomysłu jak to ugryźć. Z góry dziękuję za pomoc. |
|
|
28.07.2019, 20:27:51
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
W klauzuli WHERE musisz podać ponownie wyrażenie, albo użyć zapytania bez WHERE jako podzapytania, a warunek przenieść do zapytania nadrzędnego.
-------------------- |
|
|
29.07.2019, 18:57:35
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) |
Albo ja czegoś nie rozumiem albo ten warunek jest bez sensu,
przecież każda kolumna będzie mniejsza lub równa od maksymalnej ... Mysql ma specjalny typ danych do przechowywania współrzędnych który nazywa się point, przy jego pomocy i funkcji wbudowanej ST_Distance https://dev.mysql.com/doc/refman/8.0/en/spa...ion_st-distance możesz łatwo wyznaczyć odległość. Daje to tyle że w warunku możesz użyć ST_Distance(p1,p2)<=coś |
|
|
29.07.2019, 20:06:15
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
@maxDistance to nie maksymalna wartość z kolumny distance w tabeli, której swoją drogą nie ma, ale zadana wartość zmiennej.
Autor chce znaleźć wszystkie punkty oddalone od punktu @xb,@yb o nie więcej niż @maxDistance. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 07:53 |