![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
hej, chcialabym Was prosic o pomoc/sugestie w rozwiazaniu takiego zapytania. Mam 2 tabele: jedna z zadaniami, druga z historia zadan.
ZADANIA: id | status (0/1/2) ZADANIA_HISTORIA: id | id_zadanie | status (0/1/2) | data_modyfikacji generalnie zadania_historia przechowuje historie statusow zadan. musze znalezc id zadan ktorych status jest teraz 0, ale ktore wczesniej mialy status 1 lub 2. moglby ktos z Was mnie naprowadzic? pzdr |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kod SELECT DISTINCT z.id
FROM zadania AS z INNER JOIN zadania_historia AS zh ON z.id = zh.id_zadanie WHERE z.status = 0 AND zh.status IN (1,2) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
hej, dzieki za odpowiedz.
po pierwsze to zapytanie zwraca mi empty set (mimo tego ze sa dane w tych tabelach). Po drugie: where z.status = 0 - to ok ale zh.status in (1,2) - to (jesli dobrze rozumiem) dla zadan ktorych status w tabeli zadanie_historia jest teraz 1 lub 2. a to wlasnie nie tak. bo jesli w tabeli ZADANIE, zadanie ma status 0 to w ZADANIE_HISTORIA tez ma 0. trzeba sprawdzic czy wczesniej nie mial 1 lub 2. stad myslalam jakos o uzaleznieniu zapytania od dat.. pzdr |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale zh.status in (1,2) - to (jesli dobrze rozumiem) dla zadan ktorych status w tabeli zadanie_historia jest teraz 1 lub 2. a to wlasnie nie tak. bo jesli w tabeli ZADANIE, zadanie ma status 0 to w ZADANIE_HISTORIA tez ma 0. trzeba sprawdzic czy wczesniej nie mial 1 lub 2. albo coś źle gadasz, albo masz złe dane w tabelach.sam napisales ze historii jest trzymana historia statusow. Jesli wiec zadanie mialo kiedys 1 lub 2 a teraz ma 0, w historii bedzie między innymi wpis ze statusem równym 1 lub 2 tak wiec warunek AND zh.status IN (1,2) jest jak najbardziej ok. reszty zapytania nie sprawdzalem, odnioslem sie jedynie do tej koncówki co napisales -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 04:17 |