Obtenir des lignes de données pour les 7 derniers jours à l'aide de sql dans Oracle

Aux prises avec la requête qui renvoie des lignes de données, y compris des lignes pour les 7 derniers jours. Il ya beaucoup de à gauche joint les tables et dirait que j'ai raté quelque chose. voici un exemple de mon code pour l'instant:

select a.a,
b.b,
c.c,
d.d,
e.e,
f.f,
s.start_date,
ack.acknowledge_date,
fin.finish_date, 
g.g,
h.h, 
i.i 
from table_a a, 
inner join table_b b on ... = ..., 
left join table_c c on ... = ..., 
left join table_d d on ... = ... ` 

Et ainsi de suite.

Je voudrais obtenir des lignes de données (le cas échéant!) à partir de colonnes.date_debut, ack.acknowledge_date et
Fin.finish_date pour les 7 derniers jours (je suggère qu'elle est (sysdate -7)). Cependant, si je ne les suivants:

select a.a,
b.b,
c.c,
...,
...,
...,
from ...
inner join ...
on ... = ...
left join ...
on ... = ...
left join`...
on ... = ...

where s.start_date >= sysdate -7 and 
ack.acknowledge_date >= sysdate -7 and 
fin.finish_date >= sysdate -7;

Puis j'ai 0 lignes dans les retours. Mais, idéalement, la requête doit retourner toutes les lignes de toutes les tables, et SI les lignes de ces champs de date, il devrait retourner trop, si il n'y a pas de données dans ces champs de date, puis le laisser vide, mais toutes les autres lignes devraient revenir en tant que normale.

InformationsquelleAutor USSR | 2015-01-09