26. september 2004 - 23:49Der er
5 kommentarer og 1 løsning
SQL Kald retunere samme række flere gange som svar?
Hvorfor giver dette kald samme række som svar, flere gange??
SELECT tabel_users.id AS delid FROM tabel_users, tabel_forum, tabel_news, tabel_comments, tabel_trips, tabel_tripusers WHERE tabel_comments.user != tabel_users.id AND tabel_forum.user != tabel_users.id AND tabel_news.user != tabel_users.id AND tabel_tripusers.byuser != tabel_users.id AND tabel_trips.skipper != tabel_users.id AND tabel_trips.makeuser != tabel_users.id AND tabel_users.id NOT IN(tabel_trips.users) AND tabel_users.level = '0' ORDER BY tabel_users.id ASC
Arne: Nej det skal være "=". Dvs. at dit indlæg fik mig til indse en stor fejl jeg havde lavet. Formålet med kaldet er at det skal se om værdien af tabel_users.id er i nogen af rækkerne. Samtidig skal være skal tabel_users.level = '0'. Hvis tabel_users.id ikke findes i nogen af rækkerne skal tabel_users.id retuneres som et svar. Bagefter skal disse id's bruges i en DELETE
Jeg har lavet kaldet om så jeg skulle mene at det virkede.. men det gør det ikke. Kan I se fejlen?:
SELECT tabel_users.id AS delid FROM tabel_users, tabel_forum, tabel_news, tabel_comments, tabel_trips, tabel_tripusers WHERE NOT (tabel_comments.user = tabel_users.id OR tabel_forum.user = tabel_users.id OR tabel_news.user = tabel_users.id OR tabel_tripusers.byuser = tabel_users.id OR tabel_trips.skipper = tabel_users.id OR tabel_trips.makeuser = tabel_users.id OR tabel_users.id IN(tabel_trips.users)) AND tabel_users.level = '0' ORDER BY tabel_users.id ASC
SELECT tabel_users.id AS delid FROM ((((tabel_users LEFT JOIN tabel_forum ON tabel_forum.user = tabel_users.id) LEFT JOIN tabel_news ON tabel_news.user = tabel_users.id) LEFT JOIN tabel_comments ON tabel_comments.user = tabel_users.id) LEFT JOIN tabel_trips tabel_trips.skipper = tabel_users.id) LEFT JOIN tabel_tripusers ON tabel_tripusers.byuser = tabel_users.id WHERE tabel_users.level = '0' AND tabel_forum.user IS NULL AND tabel_news.user IS NULL AND tabel_comments.user IS NULL AND tabel_trips.skipper IS NULL AND tabel_tripusers.byuser IS NULL ORDER BY tabel_users.id ASC
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.