Select, count and delete in one query
Hia Wahta
05/04/2012 22:18:21Hallo eidereen,
Ik heb een vraag. Ik heb 3 tabellen
1) met_ID (primair) etc.
2) magn_ID (primair)
met_ID (secondary)
...
3) sens_ID (primair)
met_ID (secondary)
...
Ik moet gegevens (met_ID) uit tabel 1 delete waar met_ID komt minder dan 10 keer voor in tabellen 2 OF 3.
SELECT COUNT(*) AS count, met_ID
FROM tbl_1, tbl_2
Where met_ID = met_ID
GROUP BY met_ID
hier mee krijg ik een tabel met aantal records en met_ID, en dan in PHP met een while loop delete ik alle met_ID regels uit de database waar count<10. Is het mogelijk om zo iets direct met query te maken? Want met 1000 regels gaat het nog redelijk snel, maar bij 10 000 zal het fout gaan.
Misschien is er al voor mij sortgelijke vraag gesteld, maar ik weet ook niet op welke trefwoorden moet zoeken.
Alfast bednakt voor jullie tijd!
Ik heb een vraag. Ik heb 3 tabellen
1) met_ID (primair) etc.
2) magn_ID (primair)
met_ID (secondary)
...
3) sens_ID (primair)
met_ID (secondary)
...
Ik moet gegevens (met_ID) uit tabel 1 delete waar met_ID komt minder dan 10 keer voor in tabellen 2 OF 3.
SELECT COUNT(*) AS count, met_ID
FROM tbl_1, tbl_2
Where met_ID = met_ID
GROUP BY met_ID
hier mee krijg ik een tabel met aantal records en met_ID, en dan in PHP met een while loop delete ik alle met_ID regels uit de database waar count<10. Is het mogelijk om zo iets direct met query te maken? Want met 1000 regels gaat het nog redelijk snel, maar bij 10 000 zal het fout gaan.
Misschien is er al voor mij sortgelijke vraag gesteld, maar ik weet ook niet op welke trefwoorden moet zoeken.
Alfast bednakt voor jullie tijd!
Gewijzigd op 05/04/2012 22:37:14 door Hia Wahta
PHP hulp
24/11/2024 15:21:11Dat kan met een subquery met GROUP BY ... HAVING in de WHERE clause: