Welcome Guest! You can login or register.
Login or Register.
Thursday, January 6, 2011 3:30:33 AM(UTC)
I'd like a SQL statement that finds the amount of posts for each user, then updates the specific field with that number.
On table_fpro_posts I want the count of posts that equal the poster_id and then update the field field_user_posts on table_users.
The relation between the tables would be user_id from the table_users table and poster_id from the table_fpro_posts table.
user_id = poster_id
I've noticed several members with a post count that is not accurate and I'd like to fix that, but not sure where to start with the SQL command.
Getting the count isn't too hard, but I don't want to go through each member and manually update them. That's not fun.
WHERE poster_id = 2[/php]
Thursday, January 6, 2011 3:49:58 AM(UTC)
SET user_posts = COUNT(*)
WHERE table_fpro_posts.poster_id = table_users.user_id[/php]
That was my first guess, but I haven't ran it ... scared I'll break shit.
Thursday, January 6, 2011 4:34:42 AM(UTC)
SELECT table_fpro_posts.poster_id, count(table_fpro_posts.poster_id), table_users.user_id, table_users.user_posts
FROM table_users LEFT JOIN table_fpro_posts
ON table_users.user_id = table_fpro_posts.poster_id
GROUP BY table_fpro_posts.poster_id
This displays the members post count on their profile, next to the actual post count.
Thursday, January 6, 2011 4:47:16 AM(UTC)
SET table_users.user_posts = (SELECT COUNT(table_fpro_posts.poster_id)
WHERE table_users.user_id = table_fpro_posts.poster_id)[/php]
This did the trick.
Saturday, January 8, 2011 4:16:05 PM(UTC)
Users browsing this topic
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.