Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Pobranie jednego rekordu danego id
Marek607
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 3
Dołączył: 4.03.2010

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


Witam,
Mam takie zapytanie:

  1. $zapytanie ="select * from zdarzenia where typ_zdarzenia='zacielenie' and date(data_zdarzenia)<= DATE_SUB(CURDATE(), INTERVAL 20 DAY) and date(data_zdarzenia)>= DATE_SUB(CURDATE(), INTERVAL 22 DAY) or date(data_zdarzenia)<= DATE_SUB(CURDATE(), INTERVAL 41 DAY) and date(data_zdarzenia)>= DATE_SUB(CURDATE(), INTERVAL 43 DAY) or date(data_zdarzenia)<= DATE_SUB(CURDATE(), INTERVAL 62 DAY) and date(data_zdarzenia)>= DATE_SUB(CURDATE(), INTERVAL 64 DAY)";


W skrócie - pobiera rekordy o typie 'zacielenie' z okresu 20-22 41-43 i 62-64 dni od dnia dzisiejszego.

Mam jednak 2 pytania z tym związane:
1) Czy to zapytanie jest dobrze napisane czy można je napisać lepiej ( prościej,przejrzyściej)
2) W otrzymywanym wyniku bywa ze pobiera mi 2 zdarzenia dla tego samego bydlo_id (jest to jedno z pól w tabeli zdarzenia) - jedno ktore było 21 dni temu i drugie ktore było 42 dni temu - jak mogę zrobić że jeśli wystąpiło 21 dni temu to nie pobiera tego co było 42 dni temu?

Myslałem żeby najpierw wylistowac tabele bydlo z typem zenskim, nastepnie na podstawie wyniku dla kazdego id sprawdzic ostatnie zdarzenie o typie zacielenie - tyle ze wtedy raz ze robie dwa zapytania a dwa ze w przypadku sprawdzania kazdej sztuki bedzie to niezbyt optymalne.

Dzięki za pomoc.
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: 26.09.2025 - 12:25