Autor | Zpráva | ||
---|---|---|---|
Prkny Profil |
Mám tři tabulky:
sklad (id, id_zbozi (int), ...) sklad_pohyb (id, id_zbozi(int), datum_pohybu (date), ...) sklad_zb_bez_pohybu_datumy (id, id_zbozi (int), datum_dalsi_kontroly (date), ...) Ve skladu může být několik záznamů se stejným 'id_zbozi' z důvodů voleb, stačí porovnávat pouze 1 id_zbozi. Skrze tyto tři tabulky potřebuji dotaz: Vyber ze skladu všechno id_zbozi a jeho poslední datum_pohybu, kde za půl roku nemá toto id_zbozi žádný pohyb a kde datum_dalsi_kontroly neexistuje nebo je menší než NOW() Prosím o nasměrování správným směrem. |
||
Kajman Profil |
#2 · Zasláno: 8. 1. 2019, 11:07:38
Možná něco takového
SELECT t.id_zbozi, (SELECT Max(datum_pohybu) FROM sklad_pohyb p2 WHERE p2.id_zbozi = t.id_zbozi) posledni FROM (SELECT s.id_zbozi FROM (SELECT DISTINCT id_zbozi FROM sklad) s LEFT JOIN sklad_pohyb p ON s.id_zbozi = p.id_zbozi AND p.datum_pohybu > Date_sub(Now(), INTERVAL 6 month) LEFT JOIN sklad_zb_bez_pohybu_datumy bp ON s.id_zbozi = bp.id_zbozi AND bp.datum_dalsi_kontroly >= Now() WHERE p.id_zbozi IS NULL AND dp.id_zbozi IS NULL) t |
||
Prkny Profil |
#3 · Zasláno: 8. 1. 2019, 11:46:13
Je to přesně ono, absolutní respekt a velké poděkování.
|
||
Časová prodleva: 6 let
|
0