Avatar billede ttopholm Nybegynder
01. december 2006 - 23:03 Der er 2 kommentarer og
1 løsning

Vil ikke kører min streng.

Jeg har denne streng:
SELECT    Regninger.*, Ordre_regninger.*, Ordrelinier_regninger.*
FROM        Regninger INNER JOIN
                      Ordre_regninger ON Regninger.KundeID = Ordre_regninger.KundeID INNER JOIN
                      Ordrelinier_regninger ON Ordre_regninger.OrdreID = Ordrelinier_regninger.OrdreID
WHERE    (NOT (Regninger.FirmaID = 17))

Den virker fint..

Men når jeg laver den til:

DELETE    Regninger.*, Ordre_regninger.*, Ordrelinier_regninger.*
FROM        Regninger INNER JOIN
                      Ordre_regninger ON Regninger.KundeID = Ordre_regninger.KundeID INNER JOIN
                      Ordrelinier_regninger ON Ordre_regninger.OrdreID = Ordrelinier_regninger.OrdreID
WHERE    (NOT (Regninger.FirmaID = 17))

Så fejler den, hvordan skal jeg så lave min deletesætning
Avatar billede pierrehusted Nybegynder
04. december 2006 - 11:45 #1
Jeg vil tro det er fordi du er nødt til at slette fra een tabel ad gangen.

Så slet først fra Ordrelinier_regninger:
DELETE FROM Ordrelinier_regninger
WHERE  ordre_id in
(SELECT ordre_id FROM Ordre_regninger WHERE kundeid IN
  (SELECT kundeid FROM Regninger WHERE FirmaID = 17)
)


Så slet fra Ordre_regninger:
DELETE FROM Ordre_regninger
WHERE kundeid IN
(SELECT kundeid FROM Regninger WHERE FirmaID = 17)


Og til sidst fra Regninger:
DELETE FROM Regninger WHERE FirmaID = 17


Det er i hvert fald mit bud. Kør det på en udviklingsdatabase først!
Avatar billede ttopholm Nybegynder
04. december 2006 - 12:09 #2
Jeg har løst den... selv igår..

Der findes ikke firmaid i alle tabeller...

Så jeg lavede en masse loops, og fik det slettede
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester