sql jak sprawdzic, czy istnieja wiersze w jednej tabeli, ktore byly dodane później niż w drugiej tabeli (kolumna z datą insertu jest w obu)

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
tjekner
Sędziwy Jeż
Sędziwy Jeż
Posty: 93
Rejestracja: 04 mar 2012, 00:52
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

sql jak sprawdzic, czy istnieja wiersze w jednej tabeli, ktore byly dodane później niż w drugiej tabeli (kolumna z datą insertu jest w obu)

Post autor: tjekner »

Pytanie jak w temacie, tylko dokładniej:
Mam dwie tabelki powiedzmy table1, table2 (tabela 2 zawiera id na wiersze z tabeli1). Obie mają kolumny inserted date (nazwa typ) i są ustawiane na aktualny czas lokalny YYYY-MM-DD HH:mm:SS w momencie insertu. Usiluje napisać zapytanie, które zwróci tak, nie, ilość (wszystko jedno) - odpowiedź na pytanie: czy istnieją wiersze w tabeli1, których maksymalna data insertu jest większa niż maksymalna data insertu w tabeli2

próbowałem coś w stylu:

Kod: Zaznacz cały

select count(*)
from table1 t1
join table2 t2
on t2.table1Id = t1.id
where max(t1.inserted) > max(t2.inserted)
próbowałem też coś z group by i having, ale nie wypaliło.

Bardzo proszę o pomoc.

-- 27 cze 2015, o 15:59 --

ok, mam:

Kod: Zaznacz cały

select max(table1.inserted) > max(table2.inserted) from Table1 table1, Table2 table2
nie wiedziałem, że można tak po prostu użyć operatora porównania w klauzuli select. Człowiek uczy się całe życie...
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 46 gości