Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zlaczenie dwoch tabel na podstawie wczesniejszej wartosci pola
Forum PHP.pl > Forum > Bazy danych > MySQL
misty
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
Mchl
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)
misty
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
nospor
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.