bulgin Posted July 23, 2009 Share Posted July 23, 2009 I want to find all those records in table 'b' that have NO corresponding match on userid in table 'a', and then delete those non-matching records from table 'b'. Userid is existing in both table 'a' and 'b' I know this is basic but my mind is drawing a blank right now and I could use some help. Thanks. Quote Link to comment https://forums.phpfreaks.com/topic/167183-solved-match-then-delete-records/ Share on other sites More sharing options...
ldougherty Posted July 23, 2009 Share Posted July 23, 2009 http://dev.mysql.com/doc/refman/5.0/en/delete.html multiple-table DELETE statements can use the same types of join allowed in SELECT statements, such as LEFT JOIN. For example, to delete rows that exist in t1 that have no match in t2, use a LEFT JOIN: DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL; Quote Link to comment https://forums.phpfreaks.com/topic/167183-solved-match-then-delete-records/#findComment-881487 Share on other sites More sharing options...
bulgin Posted July 24, 2009 Author Share Posted July 24, 2009 Thank you! That works great! Now one last quick question and I can sleep: what if I have more than one table that needs to have rows deleted in the same scenario. Following up on your post, say, for example, to delete rows that exist in t1 that have no match in t2 OR t3 that looks like a tricky one. I can of course just use the same script and change the table.column names, but I think there must be a smoother way to do it. Quote Link to comment https://forums.phpfreaks.com/topic/167183-solved-match-then-delete-records/#findComment-881622 Share on other sites More sharing options...
fenway Posted July 24, 2009 Share Posted July 24, 2009 The query determine what "matches" -- with your LEFT JOINs and such -- and you choose with matching table rows get deleted. Quote Link to comment https://forums.phpfreaks.com/topic/167183-solved-match-then-delete-records/#findComment-882306 Share on other sites More sharing options...
bulgin Posted July 25, 2009 Author Share Posted July 25, 2009 Okay, thank you for your help. Quote Link to comment https://forums.phpfreaks.com/topic/167183-solved-match-then-delete-records/#findComment-882742 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.