Avatar billede celinder Nybegynder
01. august 2005 - 23:09 Der er 1 kommentar og
1 løsning

forstår ikke hvorfor der ikke kommer nogen records.

har en sql sætning der ingen records giver:

str2 = "Select Postings_title, Problem_detail, Postings.Posting_ID  from  Postings  WHERE ((Postings.Posting_ID NOT IN (SELECT Posting_ID FROM Posting_Reply)) And  Postings.Aprove <> 'A') ORDER BY Postings.Date DESC"

men hvis jeg fjerne NOT IN (SELECT Posting_ID FROM Posting_Reply)) kommer der 6

hvis jeg fjerne And  Postings.Aprove <> 'A' kommer der 5

den har nogen tilfælles, er  der en generel ting der er galt med sætningen ?
Avatar billede Stjannersen Praktikant
02. august 2005 - 13:30 #1
Jeg ser du ønsker at få vist nogle posting_title etc.
Men ikke hvis posting_Id allerede eksisterer i tabellen posting_reply og kun hvis feltet Aprove er forskelligt fra værdien 'A'

I dine nuværende testdata er der kun 5 poster i Postings som ikke allerede eksisterer i Posting_reply. Og der er kun 6 poster i Postings hvor feltet AProve er forskelligt fra A.

Det er ikke usandsynligt at disse to kriterier frasorterer data som den anden ville tillade. De 5 poster i Posting som ikke eksisterer i Posting_Reply har f.eks. alle feltet AProve = A.
Og de 6 poster hvor Aprove er forskelligt fra A eksisterer allerede i Posting_Reply.

Jeg kan ikke se at dette er forkert - for jeg ved ikke hvad du ønsker at gøre med sql-sætningen - så for mig ser det rigtigt ud. Kunne det tænkes at det kun var meningen at én af kriterierne skulle være opfyldt - således at dit AND skulle være et OR?
Avatar billede kim_falkner Nybegynder
03. august 2005 - 16:28 #2
har du prøvet med "where not exists (select Posting_ID FROM Posting_Reply where Posting_ID=Postings.Posting_ID))
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