SELECT * FROM tabel t1 WHERE EXISTS (SELECT * FROM tabel t2 WHERE t2.name=t1.name AND t2.adresse=t1.adresse AND t2.postnr=t1.postnr AND t2.tidsstempel > t1.tidsstempel)
og hvis du kan lide output saa erstat SELECT * med DELETE
Sejt Arne :). Bare lige for fuldstændighedens skyld..... SELECT * står 2 gange. Er dette begge, jeg erstatter med DELETE, når jeg har sikret at output med SELECT * er OK?
$sql = "SELECT * FROM kundeliste t1 WHERE EXISTS (SELECT * FROM kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.adresse1=t1.adresse1 AND t2.date_indtastet > t1.date_indtastet)";
Output = 0 poster
Hvis jeg fjerner sidste kriterie med feltet "date_indtastet", så hentes derimod samtlige poster i databasen.
$sql = "SELECT * FROM kundeliste t1 WHERE EXISTS (SELECT * FROM kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.adresse1=t1.adresse1 AND t2.date_indtastet > t1.date_indtastet AND opretDato!=0)";
eller '0000-00-00 00:00:00' - jeg kan ikke huske synatxen for det
Jeg er ked af, at skal forstyre dig igen. Min SELECT fungerer fint, og jeg har så skiftet SELECT med DELETE, men får følgende fejl:
Databasefejl: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM kal02_kundeliste t1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 ' at line 1
MySQL-sætningen var: DELETE * FROM kal02_kundeliste t1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.aftaleOpretDato > t1.aftaleOpretDato AND aftaleOpretDato != '0000-00-00 00:00:00')
Databasefejl: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 WHERE t2.organisation=t1' at line 1
MySQL-sætningen var: DELETE FROM kal02_kundeliste t1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.aftaleOpretDato > t1.aftaleOpretDato AND aftaleOpretDato != '0000-00-00 00:00:00')
DELETE FROM kal02_kundeliste WHERE id IN (SELECT id FROM kal02_kundeliste t1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.aftaleOpretDato > t1.aftaleOpretDato AND aftaleOpretDato != '0000-00-00 00:00:00') )
Databasefejl: You can't specify target table 'kal02_kundeliste' for update in FROM clause
MySQL-sætningen var: DELETE FROM kal02_kundeliste WHERE id IN (SELECT id FROM kal02_kundeliste t1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.aftaleOpretDato > t1.aftaleOpretDato AND aftaleOpretDato != '0000-00-00 00:00:00') )
INSERT INTO TABLE del_ids SELECT id FROM kal02_kundeliste t1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.aftaleOpretDato > t1.aftaleOpretDato AND aftaleOpretDato != '0000-00-00 00:00:00')
DELETE FROM kal02_kundeliste WHERE id IN (SELECT id FROM del_ids);
Hmm. Oprettelse af den midlertidige tabel lykkedes, men at hente de valgte id'er over i den midlertidige tabel fejler:
Databasefejl: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLE kal02_del_ids SELECT id FROM kal02_kundeliste t1 WHERE EXISTS (SELECT ' at line 1
MySQL-sætningen var: INSERT INTO TABLE kal02_del_ids SELECT id FROM kal02_kundeliste t1 WHERE EXISTS (SELECT * FROM kal02_kundeliste t2 WHERE t2.organisation=t1.organisation AND t2.kontaktperson=t1.kontaktperson AND t2.aftaleOpretDato > t1.aftaleOpretDato AND aftaleOpretDato != '0000-00-00 00:00:00')
HURRA HURRA - Så faldt det helt på plads. Tusinde tak endnu engang - ikke mindst får din vedholdenhed og tålmodighed.
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.