01. august 2005 - 23:09Der 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 ?
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?
har du prøvet med "where not exists (select Posting_ID FROM Posting_Reply where Posting_ID=Postings.Posting_ID))
Synes godt om
Ny brugerNybegynder
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.