Avatar billede juks Novice
12. september 2006 - 12:33 Der er 10 kommentarer og
3 løsninger

slette blanke

DELETE Ordrer.*, Ordreoplysninger.OrdreId
FROM Ordrer LEFT JOIN Ordreoplysninger ON Ordrer.OrdreId = Ordreoplysninger.OrdreId
WHERE (((Ordreoplysninger.OrdreId) Is Null));



hvorfor kan man ikke køre denne sql
Avatar billede juks Novice
12. september 2006 - 12:43 #1
eller det vil sige den køre den men sletter intet
Avatar billede mugs Novice
12. september 2006 - 13:59 #2
Ordrer.OrdreId = Ordreoplysninger.OrdreId

Her forudsætter du jo at felterne skal være ens. Hvis eet af felterne er en PK, vil der jo ikke være tomme poster at slette.
Avatar billede fdata Forsker
12. september 2006 - 20:03 #3
Du kan jo kun slette Ordrer.* (altså hele posten) og ikke Ordreoplysninger.OrdreId (et enkelt felt fra en anden tabel)
Prøv at fjerne ",Ordreoplysninger.OrdreId" fra DELETE linien.
Avatar billede terry Ekspert
13. september 2006 - 09:41 #4
Juks if you use cascade delete related records in your relationships then when you delete an order all related Ordreoplysinger will get deleted automaticaly
Avatar billede juks Novice
14. september 2006 - 10:29 #5
ingen af delene hjælp man løste mit problem , med at vise alle ordrene , dvs man kan lave en tom ordre
Avatar billede terry Ekspert
14. september 2006 - 19:46 #6
thanks for the points points juks. I'm not quite sure I understand your last comment there, can you explain a little more please?
Avatar billede fdata Forsker
14. september 2006 - 23:06 #7
Hvordan løste du det?
Avatar billede fdata Forsker
14. september 2006 - 23:08 #8
.. og i øvrigt tak for point.
Avatar billede juks Novice
15. september 2006 - 10:48 #9
grunden til jeg ikke fik vist alle ordrene og ville slette dem var fordi jeg kom til at vise ordreid et fra oplysningstabellen og ikke fra ordre tabellen. nu vil der så bare komme en "tom" ordre .

men fatter stadig ikke hvorfor den ikke ville slette den hvis den ikke havde relaterede poster i oplysningstabellen .
Avatar billede terry Ekspert
15. september 2006 - 12:13 #10
Try this

DELETE Ordrer.*
FROM Ordrer
WHERE ((((Select count(*) FROM Ordreoplysninger O WHERE O.OrdreID = Ordrer.OrdreID))=0));
Avatar billede juks Novice
15. september 2006 - 12:24 #11
thanks just added is null in criteria  aswell .. tx
Avatar billede terry Ekspert
15. september 2006 - 12:42 #12
Is Null in criteria will have no effect juks. Is Null is the same as having no records in Ordreoplysninger. Unless of course I am missing something :o)
Avatar billede juks Novice
15. september 2006 - 13:17 #13
hehe true tx again.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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