Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zlaczenie dwoch tabel na podstawie wczesniejszej wartosci pola
misty
post 1.04.2010, 12:11:22
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Mchl
post 1.04.2010, 13:37:13
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)
Go to the top of the page
+Quote Post
misty
post 2.04.2010, 06:10:52
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
Go to the top of the page
+Quote Post
nospor
post 2.04.2010, 07:17:09
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

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:17