Toon posts:

[SQL] DELETE probleem mbv sub-queries *

Pagina: 1
Acties:
  • 121 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik probeer een delete uit tevoeren waar condities aan verbonden zijn.
Hij moet alle acct_apay_id's deleten die in mijn sub select voorkomen.
Waar doe ik mijn koppeling verkeerd ?
Tot dusver heb ik dit.
Help is much appreciated

code:
1
2
3
4
5
6
7
8
9
10
11
DELETE 
FROM ci_acct_apay a2
WHERE exists( SELECT MIN (aa.acct_apay_id), aa.start_dt,aa.end_dt
                     FROM ci_acct_apay aa, ci_acct_apay a1
                     WHERE aa.apay_src_cd IN ('BANK', 'POSTBANK')
                     and aa.acct_apay_id = a1.acct_apay_id
                     and aa.start_dt = a1.start_dt
                     and aa.end_dt = a1.end_dt
                    GROUP BY aa.acct_id, aa.start_dt, aa.end_dt, aa.apay_src_cd, 
                           TRIM (aa.ext_acct_id)
                    HAVING COUNT (aa.acct_apay_id) > 1)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Je joined nergens met de hoofdquery.
Waarschijnlijk bedoel je iets als: WHERE a2.acct_apay_id IN (SELECT ...

[ Voor 15% gewijzigd door justmental op 23-03-2005 20:55 ]

Who is John Galt?


Verwijderd

Topicstarter
Ik wil idd dat hij de acct_apay_id's verwijderd.. maar rekening houdt met mijn START_DTen END_DT.

Als ik die start en end date uit mijn sub query haal dan werkt het perfect.. probleem is dat ie
dan teweinig records delete.
Dus hij moet alle records verwijderen die ik met mijn subquery ophaal.
Vraag. hoe koppel ik deze dan?

Verwijderd

Topicstarter
heb heb getracht op deze manier te koppelen.. no succes .

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DELETE
FROM ci_acct_apay a2
WHERE exists(
SELECT MIN (aa.acct_apay_id), aa.start_dt,aa.end_dt
FROM ci_acct_apay aa, ci_acct_apay a1
WHERE aa.apay_src_cd IN ('BANK', 'POSTBANK')
and aa.acct_apay_id = a2.acct_apay_id
and aa.start_dt = a2.start_dt
and aa.end_dt = a2.end_dt
GROUP BY aa.acct_id,
         aa.start_dt,
         aa.end_dt,
         aa.apay_src_cd,
         TRIM (aa.ext_acct_id)
HAVING COUNT (aa.acct_apay_id) > 1    
   )

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 08-05 09:43

Jaspertje

Max & Milo.. lief

Je select Min gaat wel goed? (subquery alleen dus :))

[ Voor 31% gewijzigd door Jaspertje op 23-03-2005 21:19 ]


Verwijderd

Topicstarter
ja . die gaat als een trein :)
Alleen de koppeling krijg ik niet voor elkaar.
Hoe krijg ik delete zo ver dat ie alleen de apay_id verwijderd die in de sub query worden opgehaald (rekening houdend met m'n end en start date)

tis vast geen rocket sience.. maar ik zie um echt niet :?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Het is me nog steeds niet duidelijk, maar een schot in de ruimte:
where (id, start, end) in (select id, start, end...

Who is John Galt?


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 08-05 09:43

Jaspertje

Max & Milo.. lief

En als je een select maakt waar je alleen die ID's returnd... want dat zou ook moeten kunnen (en dan kan je een ID in(die hele query) doet

Verwijderd

Topicstarter
mm.. als ik alleen m'n apay_id selecteer dan kan ik die makkelijk deleten. Dat is het probleem ook niet. Maar het vervelende is als ik alleen minj apay_id selecteer dat ie te weinig rijen weer geef. Vandaar dat die start en end date er bij moeten. anders werwijder ik teweinig rijen.

Ik heb zelf het id dat ik goed op weg ben .. maar dat ik in de koppeling iets fout doe :(

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:52

gorgi_19

Kruimeltjes zijn weer op :9

Titel ietsje opgepoetst. Wel een verzoek aan cbneal om volgende keer zelf een duidelijkere titel te geven en al direct in het begin meer info in de topicstart te geven :) Zo kan er sneller direct naar het probleem gegaan worden :)
Zie hiervoor ook P&W FAQ - De "quickstart" :)

[ Voor 15% gewijzigd door gorgi_19 op 24-03-2005 08:54 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1