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.
Vous devez vous connecter pour publier un commentaire.
Ne pas mettre
OUTER
tableau des conditions dans leWHERE
clause si c'est unOUTER JOIN
. Déplacer vers leON
clause de la place!Utilisation
OR
au lieu deAND