Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] wyszukanie rekordów które nie wystąpiły w konkretnej dacie, Lub inne rozwiązanie
Booster
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.06.2013
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Witam, posiadam 3 tabele z
ID - id usługi
ID_oso - id osoby
Data - data wykonania usługi

Potrzebuję znaleźć Osoby które miały wykonanie usługi w datach poniżej 2008 a nie miały wykonanych po 2008.

Czy ktoś może mi podpowiedzieć jaką funkcję/zapytanie mogę użyć do tego aby wyszukać tak wynik ? Lub jeśli ktoś ma inny pomysł na znalezienie tych osób to z chęcią wysłucham.

Jedyne co mi przychodzi aktualnie na myśl to
  1. SELECT 'id', 'id_oso', 'data' FROM `uslugi` WHERE DATA <= '01-01-2008'

Ale to wyświetli wyniki usług przed 2008 jak zamienię na => 01-01-2008 to wyświetli osoby które miały.
Problem Tkwi w tym że nie którzy po 2008 r nie mieli wpisywanych usług i wyświetlenie osób po 2008 które nie mają usług mija się z celem ponieważ wyświetli mi osoby które zostały dopiero co dodane a ja chce wyeliminować osoby które od 2008r nie odwiedzały firmy

Ew można znaleźć wszystkie osoby które zostały zarejestrowane przed 2008 r czyli zaznaczenie id i data_rej z innych tabel wtedy będą wyswietlon osoby zarej przed 2008 i jeszcze żeby przefitrowało i wyświetliło te osoby które NIE miały usług po 2008 roku o tak chyba bedzie najlepiej lecz jestem lajkiem i nie znam zapytan jakich mógłbym uzyć ...

Ten post edytował Booster 1.04.2014, 09:52:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Booster
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 24.06.2013
Skąd: Lublin

Ostrzeżenie: (0%)
-----


rocktech.pl dzieki za chęci (IMG:style_emoticons/default/smile.gif)

b4rt3kk witam sąsiada z Lublina (IMG:style_emoticons/default/wink.gif) i również dzieki za zaangażowanie jednach chyba coś wyswietla nie tak bardziej szczegółowo to powiem że mam tak w bazie np.
beneficjenci i tam mam dwie tabele bnf_id i bnf_data_rej
w drugim mam
uslugi_doradcze i tam mam ud_id, ud_bnf_id, ud_data

i czy mogłbyś mi jakoś zmodyfikować zapytanie aby coś wyszlo takiego
zaznacza z beneficjenci wszystkie osoby (bnf_id) i sortuje że wyswietla tylko zarejestrowane przed 2008r czyli <= 2008-01-01
Następnie
zczytuje to co zrobiłeś że szuka w uslugi_doradcze ud_bnf_id = bnf_id i sprawdza te osoby czy miały usługi po > 2008-01-01 jeśli nie to wtedy mi wyświetla (IMG:style_emoticons/default/questionmark.gif)
a wyniki wyświetlania były
bnf_id, bnf_imie, bnf_nazwisko z gruby beneficjenci (IMG:style_emoticons/default/questionmark.gif)

bnd_id - id beneficjenta w beneficjenci
bnf_data_rej - data rejestracji wbeneficjenci
bnf_imie, bnf_nazwisko w beneficjenci
ud_bnf_id - id beneficjentów w usługach doraczych takie jak w bnf_id
ud_id - id usługi
ud_data - data wykonania usługi


Damonsson czy Twoje zapytanie nie wyswietli osób które miały usługi przed 2008 ? a jednocześnie wyświetli również te które nie miały po 2008 więc mija się z celem ?
więc coś takiego jak TY napisałeś ale nie Having tylko odwrotność tego nie wiem czy cos jest takiego NOT HAVING i >2008-01-01 (IMG:style_emoticons/default/questionmark.gif) wtedy wyswietli osoby ktore od 2008 nie mają usług

Ten post edytował Booster 1.04.2014, 11:46:32
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 07:09