J'utilise oracle (10).mettre à jour un champ basé sur le sous-total d'une autre table
J'ai deux tables comme suit:
Table1 (uniq rows):
ID AMOUNT DATE
Table2:
ID AMOUNT1 AMOUNT2 ...AMOUNTN DATE
Tableau2 est connecté à plusieurs à un tableau 1 connecté via ID. Ce dont j'ai besoin, c'est de mettre à jour Table1.DATE avec: la dernière (date la plus ancienne) de Table2 où Table1.AMOUNT - SUM (Table2.AMOUNT1) < = 0, lors de la lecture de la table 2 vers l'arrière par le champ Table2.DATE .
Existe-t-il un moyen simple de le faire?
Merci d'avance!
MISE À JOUR: comme je vois de vos réponses j'avais mal spécifié la question un peu. Alors, voici un exemple détaillé:
Tableau 1 a:
ID: 1 AMOUNT:100 DATE:NULL
Tableau2 a (pour ID: 1 pour ID ne figure pas ici):
AMOUNT1 DATE
50 20080131
30 20080121
25 20080111
20 20080101
Donc dans ce cas je besoin 20080111
comme le DATE dans le tableau1 comme 50 + 30 + 25 => 100.
Pourquoi ne pas fournir de créer des scripts de table? Cela rend beaucoup plus facile de répondre à votre question. Et pourquoi appelez-vous une colonne «date»? Vous ne pouvez pas créer de table avec un nom de colonne appelé "date". – tuinstoel
50 + 30 + 25> = 100 – tuinstoel
Je suis d'accord avec tuinstoel, votre question est très vaguement exprimée et difficile à suivre. Au début, vous avez dit <= 0, alors dans votre exemple <= 100. Voulez-vous en fait dire <= (or > =) table1.amount? –