J'ai un problème que je pense ne peut être résolue avec une déclaration Connect-to-prior.Oracle - tables de jonction et se connecter à avant
Mon modèle de données est simplifiée comme suit:
create table TASK
(TASK_ID number
);
create table ITEM
(TASK_ID number,
NEXT_TASK_ID number
);
create table TASK_ITEM
(TASK_ID number,
ITEM_ID number
);
un ensemble d'éléments sont combinés en une tâche. Un ensemble de tâches est combiné en un ou plusieurs éléments (c'est ici que la table de jonction TASK_ITEM entre). Le processus commence par un ensemble d'éléments et se termine par un seul élément (ITEM.NEXT_TASK_ID est nul pour le dernier élément et aucun attribut task_item n'existe pour les premiers éléments).
Mon problème:
Étant donné un task_id Je veux extraire toutes les tâches précédentes.
Ce problème est en bordure de ceux décrits dans Philip Greenspun's excellent introduction to trees in Oracle, ou Wikibook's description of Hierarchical Queries, mais ne peut pas sembler trouver de bonnes solutions résoudre ces problèmes quand ils comprennent plus d'ID et une table de jonction.
Mon propre SQL-foo tombe très court, et j'ai googlé mon cœur sans trouver une solution à mon problème particulier. De la voix de Carrie Fisher: Aidez-moi Stack Overflow, vous êtes mon seul espoir.
Pourriez-vous inclure quelques lignes de données? [il semble que certaines informations peuvent être redondantes dans votre modèle] –
Un ensemble d'éléments ne doit-il pas être combiné dans une tâche plutôt que de lire "un ensemble d'éléments de tâche est combiné dans une tâche"? –
@phareim: Votre problème est "" Étant donné un task_id je veux extraire toutes les tâches précédentes. ", Alors pourquoi nous avons besoin de la table' TASK_ITEM AND TASK 'Il peut être facilement trouvé par Un seul élément de table ?? –