Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapytaniem
bryzas
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 2
Dołączył: 22.09.2007

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


Witam,

głowię się nad jednym problemem ...

Mam tabelę gdzie zapisana data przyjęcia oraz status rekordu wraz z datą zmiany statusu, przy braku zmiany statusu jest to po prostu data przyjęcia.
zmiana statusu to np. likwidacja, przekazanie z określoną datą itp.

Kod
id        data_przyjecja          status          data_statusu
1         2010-12-31                   0             2010-12-31
2         2010-12-31                   0             2010-12-31
3         2010-12-31                   0             2010-12-31
4         2010-12-31                   2             2011-05-16
5         2010-12-31                   2             2011-05-16
6         2011-02-10                   0             2011-02-10


Jak skonstruować zapytanie aby :

Robiąc zestawienie na dzień 15.02.2011 powinien wybrać wszystkie rekordy bo data_przyjecia jest < data_raportu i nic nie zmieniło statusu.
Robiąc zestawienie na dzień 17.02.2011 powinien wybrać rekordy bez id 4 i 5 ponieważ status (likwidacja) zmienił się dzień wcześniej i nie powinny być uwzględnione.

Ten post edytował bryzas 20.02.2012, 14:32:16
Go to the top of the page
+Quote Post
alegorn
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


odpowiedzią na pytanie jest
  1. IF


poza tym, o ile widze - przyjmujesz za mozliwe tylko jednokrotna zmiane statusu? lub tez ze raport bedzie generowany tylko i wylacznie wzgledem dnia obecnego... ?
bo jesli nie - to nie jestes w stanie odtworzyc historii.
Go to the top of the page
+Quote Post
pmir13
post
Post #3





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


  1. SELECT * FROM przyjecia
  2. WHERE data_statusu < '2011-02-17'
  3. AND STATUS <> 2
  4. UNION SELECT * FROM przyjecia
  5. WHERE data_statusu > '2011-02-17'
  6. AND STATUS = 2
  7. AND data_przyjecia < '2011-02-17'
Go to the top of the page
+Quote Post
bryzas
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 2
Dołączył: 22.09.2007

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


Cytat(pmir13 @ 20.02.2012, 16:34:27 ) *
  1. SELECT * FROM przyjecia
  2. WHERE data_statusu < '2011-02-17'
  3. AND STATUS <> 2
  4. UNION SELECT * FROM przyjecia
  5. WHERE data_statusu > '2011-02-17'
  6. AND STATUS = 2
  7. AND data_przyjecia < '2011-02-17'



Dzięki wielkie (IMG:style_emoticons/default/smile.gif) zapomniało się o łączeniu zapytań ...

można zamknąć
Go to the top of the page
+Quote Post

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: 23.08.2025 - 15:21