![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry.
Przeszukałem TO forum ale nie znalazłem odpowiedzi... W bazie danych MySQL mam kolumny "dzien" , "miesac" i "rok" (taką mam konieczność dla innych potrzeb). Muszę wyselekcjonować dane dane nie starsze niż 21 dni od ROCZNICY danego pana. Dlatego staram się w zapytani SELECT z istniejących danych stworzyć datę "oszukaną" z wstawionym bieżącym rokiem, i porównać ją z dzisiejszą ustawiając warunek różnicy 21 dni. Próbowałem przeróżne przekształcenia i za każdym razem jest źle. załóżmy że baza wygląda podobnie: id imie nazwisko funkcja rok miesiac dzien rola uwagi 1 Jan Pierwszy RR 1967 12 03 AA brak 2 Piotr Drugi KD 1986 01 22 FT brak 3 Olaf Trzeci JY 2001 11 15 KF brak Próbowałem na prostych i poprawnych - nie działało. Próbowałem innych przeróżnych i dziwnych kombinacji i nic... Zrobiłem nawet tak dziwaczne pytanie : $wynik = mysql_query ("SELECT * FROM baaazzza WHERE DATEDIFF( ('2017-miesiac-dzien'), '2017-11-08') < 21 ;") or die ("błąd w pytaniu"); i też nic Chyba się zapędziłem w ZŁE myślenie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
... to musi mieć jakieś proste rozwiązanie.. ale nie potrafię dalej połączyć trzech wartości (rok miesiac dzien) w wartość daty -- oczywiście w samym SELECT . Jak jest wsadzone w jakikolwiek nawias (nawet sama poprawna data np. DAYOFYEAR('data') -- to pokazuje błąd. Co prawda sprawdzam to na VertrigoServ chyba z 2014 albo 2015roku (IMG:style_emoticons/default/questionmark.gif) ?
Nie wyszukuje nic nawet jak zastosuje "AS"... Konic końców będę chyba musiał połączyć w samej bazie danych i z tego korzystać --- ale może jednak dostanę jakąś podpowiedź... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 14:16 |